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 2017/05/16 02:19:11 UTC
[01/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Repository: geode
Updated Branches:
refs/heads/feature/GEODE-2929 a63457b7a -> 118048cf9
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java
index 1f0554e..0e47741 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java
@@ -15,76 +15,105 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, value);
+ public VersionedThinRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapObjectKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -92,13 +121,18 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -112,55 +146,59 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -172,15 +210,16 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -188,17 +227,17 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -210,11 +249,11 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -223,6 +262,7 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -232,9 +272,9 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -249,19 +289,24 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java
index 0a2ee2a..80d07e2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java
@@ -15,93 +15,118 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedThinRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey1.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -109,13 +134,18 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -129,55 +159,59 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -189,15 +223,16 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -205,17 +240,17 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -227,11 +262,11 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -240,6 +275,7 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -249,9 +285,9 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -266,38 +302,38 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -306,15 +342,16 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -322,7 +359,7 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -335,5 +372,8 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java
index c834c4a..dbf7f1f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java
@@ -15,58 +15,85 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedThinRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -79,41 +106,39 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey2.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -121,13 +146,18 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -141,55 +171,59 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -201,15 +235,16 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -217,17 +252,17 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -239,11 +274,11 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -252,6 +287,7 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -261,9 +297,9 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -278,39 +314,39 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -320,10 +356,10 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -334,16 +370,17 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -357,7 +394,7 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -376,5 +413,7 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java
index 9401e7e..0f255d9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java
@@ -15,77 +15,103 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, value);
+ public VersionedThinRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapUUIDKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -93,13 +119,18 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -113,55 +144,59 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -173,15 +208,16 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -189,17 +225,17 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -211,11 +247,11 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -224,6 +260,7 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -233,9 +270,9 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -250,22 +287,23 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -275,5 +313,8 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[13/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java
index 07be6eb..241f6da 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java
@@ -15,81 +15,121 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, value);
+ public VersionedStatsLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -97,13 +137,18 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -117,154 +162,144 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -272,73 +307,67 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -350,15 +379,16 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -366,17 +396,17 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -388,11 +418,11 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -401,6 +431,7 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -410,9 +441,9 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -427,21 +458,29 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -449,5 +488,8 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java
index 3e667fd..2e62cd6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java
@@ -15,82 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsLRURegionEntryOffHeapLongKey
- extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, value);
+public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLRURegionEntryOffHeap {
+ public VersionedStatsLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -98,13 +139,18 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -118,154 +164,144 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -273,73 +309,67 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -351,15 +381,16 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -367,17 +398,17 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -389,11 +420,11 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -402,6 +433,7 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -411,9 +443,9 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -428,21 +460,22 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -450,5 +483,8 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java
index ac7d3c7..3459dde 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java
@@ -15,82 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsLRURegionEntryOffHeapObjectKey
- extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, value);
+public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStatsLRURegionEntryOffHeap {
+ public VersionedStatsLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -98,13 +135,18 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -118,154 +160,144 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -273,73 +305,67 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -351,15 +377,16 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -367,17 +394,17 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -389,11 +416,11 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -402,6 +429,7 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -411,9 +439,9 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -428,19 +456,24 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java
index 18954bc..8090ffc 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java
@@ -15,99 +15,132 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsLRURegionEntryOffHeapStringKey1
- extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStatsLRURegionEntryOffHeap {
+ public VersionedStatsLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -115,13 +148,18 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -135,154 +173,144 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -290,73 +318,67 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -368,15 +390,16 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -384,17 +407,17 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -406,11 +429,11 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -419,6 +442,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -428,9 +452,9 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -445,38 +469,38 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -485,15 +509,16 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -501,7 +526,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -514,5 +539,8 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[61/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java
index 18f92a1..a8f1e2a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java
@@ -18,35 +18,26 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +63,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
+ extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -81,14 +73,14 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -99,35 +91,40 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -143,6 +140,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -160,7 +158,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -168,36 +166,41 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -207,13 +210,13 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -224,10 +227,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -235,12 +239,12 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -250,58 +254,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -313,36 +319,44 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -352,27 +366,33 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -381,13 +401,12 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
-
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -398,51 +417,61 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -450,15 +479,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -470,16 +500,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -487,17 +517,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -509,11 +540,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -522,7 +553,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -532,9 +563,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -549,18 +580,19 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedS
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java
index 1e97b22..0ced50b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java
@@ -18,35 +18,26 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +63,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
+ extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -81,14 +73,14 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -96,14 +88,15 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -114,35 +107,40 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -158,6 +156,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -175,7 +174,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -183,36 +182,41 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -222,13 +226,13 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -239,10 +243,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -250,12 +255,12 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -265,58 +270,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -328,36 +335,44 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -367,33 +382,38 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -402,7 +422,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -413,51 +433,61 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -465,15 +495,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -485,16 +516,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -502,17 +533,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -524,11 +556,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -537,7 +569,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -547,9 +579,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -564,38 +596,41 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -604,16 +639,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -621,7 +656,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -634,7 +669,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends Versioned
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java
index 8e81c36..1819f83 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java
@@ -18,35 +18,26 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +63,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
+ extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -81,14 +73,14 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -97,19 +89,20 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -126,35 +119,40 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -170,6 +168,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -187,7 +186,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -195,36 +194,41 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -234,13 +238,13 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -251,10 +255,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -262,12 +267,12 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -277,58 +282,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -340,36 +347,44 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -379,33 +394,38 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -414,7 +434,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -425,51 +445,61 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -477,15 +507,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -497,16 +528,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -514,17 +545,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -536,11 +568,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -549,7 +581,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -559,9 +591,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -576,15 +608,15 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -593,14 +625,17 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -608,7 +643,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -618,10 +653,10 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -632,17 +667,17 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -656,7 +691,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends Versioned
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
[03/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java
index 98fb7f7..eb8a3ee 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java
@@ -15,80 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, value);
+ public VersionedThinLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapLongKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapLongKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -96,13 +139,18 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -116,151 +164,143 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -272,15 +312,16 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -288,17 +329,17 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -310,11 +351,11 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -323,6 +364,7 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -332,9 +374,9 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -349,21 +391,22 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -371,5 +414,8 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java
index d7af3c3..6ec84f3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java
@@ -15,81 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinLRURegionEntryOffHeapObjectKey
- extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, value);
+public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLRURegionEntryOffHeap {
+ public VersionedThinLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapObjectKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -97,13 +135,18 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -117,151 +160,143 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -273,15 +308,16 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -289,17 +325,17 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -311,11 +347,11 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -324,6 +360,7 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -333,9 +370,9 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -350,19 +387,24 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java
index e072a3e..d36e5de 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java
@@ -15,98 +15,132 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinLRURegionEntryOffHeapStringKey1
- extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinLRURegionEntryOffHeap {
+ public VersionedThinLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey1.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -114,13 +148,18 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -134,151 +173,143 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -290,15 +321,16 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -306,17 +338,17 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -328,11 +360,11 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -341,6 +373,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -350,9 +383,9 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -367,38 +400,38 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -407,15 +440,16 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -423,7 +457,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -436,5 +470,8 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java
index a6c5726..c166c71 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java
@@ -15,63 +15,99 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinLRURegionEntryOffHeapStringKey2
- extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinLRURegionEntryOffHeap {
+ public VersionedThinLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -84,41 +120,39 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey2.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -126,13 +160,18 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -146,151 +185,143 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -302,15 +333,16 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -318,17 +350,17 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -340,11 +372,11 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -353,6 +385,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -362,9 +395,9 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -379,39 +412,39 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -421,10 +454,10 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -435,16 +468,17 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -458,7 +492,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -477,5 +511,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java
index 52e1c57..a8f0c3f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java
@@ -15,82 +15,117 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, value);
+ public VersionedThinLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapUUIDKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapUUIDKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -98,13 +133,18 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -118,151 +158,143 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -274,15 +306,16 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -290,17 +323,17 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -312,11 +345,11 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -325,6 +358,7 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -334,9 +368,9 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -351,22 +385,23 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -376,5 +411,8 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[36/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java
index 1428eb1..0f8a90a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java
@@ -15,19 +15,37 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
@@ -35,54 +53,69 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -91,42 +124,40 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -137,22 +168,23 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -162,158 +194,147 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -321,98 +342,91 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -421,15 +435,16 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -437,7 +452,7 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -450,5 +465,8 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java
index 7a11c77..7b3d4de 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java
@@ -15,19 +15,37 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
@@ -36,35 +54,50 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -77,24 +110,24 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -103,42 +136,40 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -149,22 +180,23 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -174,158 +206,147 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -333,99 +354,92 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -435,10 +449,10 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -449,16 +463,17 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -472,7 +487,7 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -491,5 +506,7 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java
index 4d7c37b..995973e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java
@@ -15,57 +15,99 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -74,42 +116,40 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -120,22 +160,23 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -145,158 +186,147 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -304,80 +334,76 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -387,5 +413,8 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java
index 856ebc6..3dad576 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java
@@ -15,77 +15,121 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -93,13 +137,18 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -113,60 +162,60 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -177,22 +226,23 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -202,158 +252,147 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -361,81 +400,82 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -443,5 +483,8 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[11/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java
index 00eb20e..73ad5b9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java
@@ -15,74 +15,117 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapStringKey1(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedStatsRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -91,40 +134,40 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -132,73 +175,67 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -210,15 +247,16 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -226,17 +264,17 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -248,11 +286,11 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -261,6 +299,7 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -270,9 +309,9 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -287,38 +326,38 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -327,15 +366,16 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -343,7 +383,7 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -356,5 +396,8 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java
index a92b2b1..907601d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java
@@ -15,21 +15,50 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
@@ -37,34 +66,48 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapStringKey2(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedStatsRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -77,24 +120,24 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -103,40 +146,40 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -144,73 +187,67 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -222,15 +259,16 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -238,17 +276,17 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -260,11 +298,11 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -273,6 +311,7 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -282,9 +321,9 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -299,39 +338,39 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -341,10 +380,10 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -355,16 +394,17 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -378,7 +418,7 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -397,5 +437,7 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java
index f9d280e..0cb9d80 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java
@@ -15,57 +15,102 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key, Object value) {
- super(context, value);
+ public VersionedStatsRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -74,40 +119,40 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -115,71 +160,67 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -191,15 +232,16 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -207,17 +249,17 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -229,11 +271,11 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -242,6 +284,7 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -251,9 +294,9 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -268,22 +311,23 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -293,5 +337,8 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java
index dc7124d..9aeb8b5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java
@@ -15,77 +15,121 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, value);
+ public VersionedStatsRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -93,13 +137,18 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -113,58 +162,60 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -172,73 +223,67 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -250,15 +295,16 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -266,17 +312,17 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -288,11 +334,11 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -301,6 +347,7 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -310,9 +357,9 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -327,21 +374,29 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -349,5 +404,8 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java
index 8acd7a7..2810e84 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java
@@ -15,77 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, value);
+ public VersionedStatsRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -93,13 +139,18 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -113,58 +164,60 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -172,73 +225,67 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -250,15 +297,16 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -266,17 +314,17 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -288,11 +336,11 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -301,6 +349,7 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -310,9 +359,9 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -327,21 +376,22 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -349,5 +399,8 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java
index c0c6705..8fd51fd 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java
@@ -15,78 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, value);
+ public VersionedStatsRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -94,13 +135,18 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -114,58 +160,60 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -173,73 +221,67 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -251,15 +293,16 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -267,17 +310,17 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -289,11 +332,11 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -302,6 +345,7 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -311,9 +355,9 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -328,19 +372,24 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[21/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java
index 6a0de6e..d4bce0d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java
@@ -15,63 +15,108 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapLongKey
- extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -80,42 +125,40 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -126,22 +169,23 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -151,158 +195,147 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -310,73 +343,67 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -388,15 +415,16 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -404,17 +432,17 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -426,11 +454,11 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -439,6 +467,7 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -448,9 +477,9 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -465,21 +494,22 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -487,5 +517,8 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java
index 35d416a..32f2cea 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java
@@ -15,63 +15,104 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapObjectKey
- extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -80,42 +121,40 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -126,22 +165,23 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -151,158 +191,147 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -310,73 +339,67 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -388,15 +411,16 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -404,17 +428,17 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -426,11 +450,11 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -439,6 +463,7 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -448,9 +473,9 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -465,19 +490,24 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java
index efc2dbf..f357c98 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java
@@ -15,80 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapStringKey1
- extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -97,42 +136,40 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -143,22 +180,23 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -168,158 +206,147 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -327,73 +354,67 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -405,15 +426,16 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -421,17 +443,17 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -443,11 +465,11 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -456,6 +478,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -465,9 +488,9 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -482,38 +505,38 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -522,15 +545,16 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -538,7 +562,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -551,5 +575,8 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[25/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java
index b4cab22..f1f8144 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java
@@ -15,14 +15,28 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
@@ -31,37 +45,62 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapUUIDKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -70,53 +109,52 @@ public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -126,66 +164,71 @@ public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -195,5 +238,8 @@ public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java
index 38b6bc2..325e71e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java
@@ -15,72 +15,107 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -88,13 +123,18 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -108,71 +148,72 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -182,65 +223,77 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -248,5 +301,8 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java
index 303c91b..d5a0673 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java
@@ -15,72 +15,109 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -88,13 +125,18 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -108,71 +150,72 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -182,65 +225,70 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -248,5 +296,8 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java
index d604f75..7013d7b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java
@@ -15,73 +15,105 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -89,13 +121,18 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -109,71 +146,72 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -183,63 +221,72 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java
index ac94dc6..7689a6f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java
@@ -15,90 +15,120 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -106,13 +136,18 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -126,71 +161,72 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -200,82 +236,86 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -284,15 +324,16 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -300,7 +341,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -313,5 +354,8 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java
index 584f382..cb231cb 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java
@@ -15,56 +15,87 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -77,40 +108,39 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -118,13 +148,18 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -138,71 +173,72 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -212,83 +248,87 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -298,10 +338,10 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -312,16 +352,17 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -335,7 +376,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -354,5 +395,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java
index a619574..1548e5c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java
@@ -15,74 +15,112 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -90,13 +128,18 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -110,71 +153,72 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -184,66 +228,71 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -253,5 +302,8 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[54/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java
index 907601d..43a24a8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java
@@ -18,40 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VersionedStatsRegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -81,33 +60,34 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -124,20 +104,23 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -146,24 +129,29 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -171,12 +159,10 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -187,51 +173,61 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -239,15 +235,16 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -259,16 +256,16 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -276,17 +273,18 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -298,11 +296,11 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -311,7 +309,7 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -321,9 +319,9 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -338,15 +336,15 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -355,14 +353,17 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -370,7 +371,7 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -380,10 +381,10 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -394,17 +395,17 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -418,7 +419,7 @@ public class VersionedStatsRegionEntryHeapStringKey2 extends VersionedStatsRegio
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java
index 0cb9d80..ae66cb3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java
@@ -20,38 +20,19 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +54,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VersionedStatsRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -81,14 +62,14 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -97,20 +78,22 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -119,24 +102,29 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -144,12 +132,10 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -160,51 +146,59 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapUUIDKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -212,15 +206,16 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -232,16 +227,16 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -249,17 +244,18 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -271,11 +267,11 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -284,7 +280,7 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -294,9 +290,9 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -311,23 +307,25 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -337,7 +335,7 @@ public class VersionedStatsRegionEntryHeapUUIDKey extends VersionedStatsRegionEn
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java
index 9aeb8b5..8e245d1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java
@@ -18,35 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VersionedStatsRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -81,55 +65,56 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -145,6 +130,7 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -162,7 +148,7 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -170,36 +156,41 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -207,12 +198,10 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -223,51 +212,61 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapIntKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -275,15 +274,16 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -295,16 +295,16 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -312,17 +312,18 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -334,11 +335,11 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -347,7 +348,7 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -357,9 +358,9 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -374,29 +375,26 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -404,7 +402,7 @@ public class VersionedStatsRegionEntryOffHeapIntKey extends VersionedStatsRegion
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java
index 2810e84..9cafe9d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java
@@ -18,35 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VersionedStatsRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -81,57 +65,56 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +130,7 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +148,7 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +156,41 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -209,12 +198,10 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -225,51 +212,61 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapLongKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -277,15 +274,16 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -297,16 +295,16 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -314,17 +312,18 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -336,11 +335,11 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -349,7 +348,7 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -359,9 +358,9 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -376,22 +375,24 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -399,7 +400,7 @@ public class VersionedStatsRegionEntryOffHeapLongKey extends VersionedStatsRegio
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java
index 8fd51fd..a9fceeb 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java
@@ -18,35 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+ public VersionedStatsRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -81,53 +65,57 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -143,6 +131,7 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -160,7 +149,7 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -168,36 +157,41 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -205,12 +199,10 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -221,51 +213,61 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -273,15 +275,16 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -293,16 +296,16 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -310,17 +313,18 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -332,11 +336,11 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -345,7 +349,7 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -355,9 +359,9 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -372,18 +376,19 @@ public class VersionedStatsRegionEntryOffHeapObjectKey extends VersionedStatsReg
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java
index 89e86b9..0832fc1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java
@@ -18,35 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+ public VersionedStatsRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -81,27 +65,28 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -112,35 +97,40 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -156,6 +146,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -173,7 +164,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -181,36 +172,41 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -218,12 +214,10 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -234,51 +228,61 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -286,15 +290,16 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -306,16 +311,16 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -323,17 +328,18 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -345,11 +351,11 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -358,7 +364,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -368,9 +374,9 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -385,38 +391,41 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -425,16 +434,16 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -442,7 +451,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -455,7 +464,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[43/78] geode git commit: GEODE-2929: remove final from methods on
internal classes
Posted by kl...@apache.org.
GEODE-2929: remove final from methods on internal classes
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/5abc4863
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/5abc4863
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/5abc4863
Branch: refs/heads/feature/GEODE-2929
Commit: 5abc486379f245b2371b476c712818b025465584
Parents: 30f455b
Author: Kirk Lund <kl...@apache.org>
Authored: Mon May 15 17:24:34 2017 -0700
Committer: Kirk Lund <kl...@apache.org>
Committed: Mon May 15 17:24:34 2017 -0700
----------------------------------------------------------------------
.../admin/internal/AbstractHealthEvaluator.java | 4 +-
.../internal/AdminDistributedSystemImpl.java | 2 +-
.../internal/DistributedSystemConfigImpl.java | 2 +-
.../geode/admin/internal/SystemMemberImpl.java | 26 +++---
.../geode/cache/client/internal/AbstractOp.java | 6 +-
.../client/internal/ClientMetadataService.java | 2 +-
.../cache/client/internal/ConnectionStats.java | 4 +-
.../geode/cache/client/internal/PoolImpl.java | 2 +-
.../geode/cache/client/internal/PutOp.java | 2 +-
.../cache/client/internal/QueueStateImpl.java | 6 +-
.../cache/query/internal/ObjectIntHashMap.java | 10 +--
.../query/internal/QueryObserverHolder.java | 6 +-
.../geode/cache/query/internal/StructBag.java | 8 +-
.../geode/cache/query/internal/StructSet.java | 4 +-
.../query/internal/index/HashIndexSet.java | 4 +-
.../internal/AbstractDistributionConfig.java | 2 +-
.../internal/DistributionAdvisor.java | 12 +--
.../internal/DistributionMessage.java | 6 +-
.../internal/DistributionMessageObserver.java | 4 +-
.../FunctionExecutionPooledExecutor.java | 4 +-
.../internal/InternalDistributedSystem.java | 12 +--
.../distributed/internal/LocatorStats.java | 16 ++--
.../internal/PooledDistributionMessage.java | 2 +-
.../internal/PooledExecutorWithDMStats.java | 4 +-
.../internal/ReliableReplyProcessor21.java | 4 +-
.../distributed/internal/ReplyMessage.java | 6 +-
.../distributed/internal/ReplyProcessor21.java | 14 ++--
.../SerialQueuedExecutorWithDMStats.java | 4 +-
.../distributed/internal/ServerLocation.java | 4 +-
.../internal/direct/DirectChannel.java | 2 +-
.../internal/locks/DLockService.java | 14 ++--
.../distributed/internal/locks/ElderState.java | 8 +-
.../distributed/internal/locks/GrantorInfo.java | 12 +--
.../internal/locks/GrantorRequestProcessor.java | 6 +-
.../membership/InternalDistributedMember.java | 4 +-
.../membership/gms/messenger/JGAddress.java | 8 +-
.../membership/gms/mgr/LocalViewMessage.java | 2 +-
.../geode/internal/ByteArrayDataInput.java | 42 +++++-----
.../geode/internal/ByteBufferOutputStream.java | 10 +--
.../geode/internal/ExternalizableDSFID.java | 4 +-
.../geode/internal/GfeConsoleReaderFactory.java | 4 +-
.../geode/internal/HeapDataOutputStream.java | 64 +++++++--------
.../geode/internal/InternalDataSerializer.java | 6 +-
.../geode/internal/NullDataOutputStream.java | 26 +++---
.../geode/internal/ObjIdConcurrentMap.java | 4 +-
.../org/apache/geode/internal/PureJavaMode.java | 6 +-
.../java/org/apache/geode/internal/Version.java | 26 +++---
.../internal/VersionedDataOutputStream.java | 2 +-
.../admin/remote/RemoteRegionAttributes.java | 4 +-
.../admin/statalerts/BaseDecoratorImpl.java | 6 +-
.../admin/statalerts/FunctionHelper.java | 8 +-
.../internal/cache/AbstractDiskRegion.java | 8 +-
.../internal/cache/AbstractLRURegionMap.java | 34 ++++----
.../geode/internal/cache/AbstractRegion.java | 12 +--
.../geode/internal/cache/AbstractRegionMap.java | 56 ++++++-------
.../internal/cache/AbstractUpdateOperation.java | 2 +-
.../geode/internal/cache/BucketAdvisor.java | 8 +-
.../geode/internal/cache/BucketRegion.java | 4 +-
.../cache/BytesAndBitsForCompactor.java | 8 +-
.../internal/cache/CacheObserverHolder.java | 4 +-
.../internal/cache/CacheServerLauncher.java | 2 +-
.../cache/ClientServerObserverHolder.java | 4 +-
.../internal/cache/DestroyRegionOperation.java | 2 +-
.../apache/geode/internal/cache/DiskRegion.java | 30 +++----
.../geode/internal/cache/DiskStoreImpl.java | 30 +++----
.../internal/cache/DistPeerTXStateStub.java | 4 +-
.../cache/DistTXStateOnCoordinator.java | 6 +-
.../cache/DistributedCacheOperation.java | 4 +-
.../cache/DistributedClearOperation.java | 2 +-
.../cache/DistributedPutAllOperation.java | 2 +-
.../geode/internal/cache/DistributedRegion.java | 2 +-
...stributedRegionFunctionStreamingMessage.java | 4 +-
.../cache/DistributedRemoveAllOperation.java | 2 +-
.../apache/geode/internal/cache/EntriesSet.java | 2 +-
.../geode/internal/cache/EntryEventImpl.java | 58 ++++++-------
.../geode/internal/cache/EntryExpiryTask.java | 2 +-
.../internal/cache/EvictionAttributesImpl.java | 4 +-
.../apache/geode/internal/cache/ExpiryTask.java | 18 ++--
.../FunctionStreamingOrderedReplyMessage.java | 2 +-
.../geode/internal/cache/GridAdvisor.java | 6 +-
.../apache/geode/internal/cache/HARegion.java | 4 +-
.../geode/internal/cache/InlineKeyHelper.java | 2 +-
.../apache/geode/internal/cache/KeyInfo.java | 12 +--
.../geode/internal/cache/LocalRegion.java | 4 +-
.../geode/internal/cache/OverflowOplogSet.java | 14 ++--
.../internal/cache/PartitionRegionConfig.java | 8 +-
.../cache/PartitionedRegionDataStore.java | 16 ++--
.../internal/cache/PartitionedRegionStats.java | 2 +-
.../internal/cache/PersistentOplogSet.java | 10 +--
.../apache/geode/internal/cache/PoolStats.java | 18 ++--
.../geode/internal/cache/ProxyBucketRegion.java | 4 +-
.../geode/internal/cache/ProxyRegionMap.java | 2 +-
.../geode/internal/cache/RegionExpiryTask.java | 18 ++--
.../internal/cache/RegionIdleExpiryTask.java | 2 +-
.../internal/cache/RegionTTLExpiryTask.java | 2 +-
.../internal/cache/RemoteDestroyMessage.java | 12 +--
.../geode/internal/cache/RemoteGetMessage.java | 2 +-
.../internal/cache/RemotePutAllMessage.java | 6 +-
.../geode/internal/cache/RemotePutMessage.java | 30 +++----
.../internal/cache/RemoteRemoveAllMessage.java | 6 +-
.../apache/geode/internal/cache/TXEntry.java | 4 +-
.../geode/internal/cache/TXEntryState.java | 40 ++++-----
.../internal/cache/TXFarSideCMTracker.java | 20 ++---
.../geode/internal/cache/TXReservationMgr.java | 2 +-
.../apache/geode/internal/cache/TXState.java | 2 +-
.../geode/internal/cache/TXStateProxyImpl.java | 6 +-
.../org/apache/geode/internal/cache/Token.java | 10 +--
.../geode/internal/cache/UpdateOperation.java | 2 +-
.../geode/internal/cache/VMLRURegionMap.java | 8 +-
.../cache/control/HeapMemoryMonitor.java | 2 +-
.../cache/control/MemoryThresholds.java | 2 +-
.../cache/execute/AbstractExecution.java | 20 ++---
.../cache/execute/FunctionContextImpl.java | 2 +-
.../internal/cache/locks/TXLockIdImpl.java | 4 +-
.../internal/cache/lru/HeapLRUStatistics.java | 4 +-
.../internal/cache/lru/NewLRUClockHand.java | 2 +-
.../AllBucketProfilesUpdateMessage.java | 2 +-
.../partitioned/BecomePrimaryBucketMessage.java | 2 +-
.../partitioned/BucketProfileUpdateMessage.java | 2 +-
.../cache/partitioned/BucketSizeMessage.java | 2 +-
.../cache/partitioned/CreateBucketMessage.java | 2 +-
.../cache/partitioned/DestroyMessage.java | 8 +-
.../DestroyRegionOnDataStoreMessage.java | 4 +-
.../partitioned/EndBucketCreationMessage.java | 2 +-
.../internal/cache/partitioned/GetMessage.java | 2 +-
.../cache/partitioned/IndexCreationMsg.java | 10 +--
.../cache/partitioned/InterestEventMessage.java | 4 +-
.../partitioned/ManageBackupBucketMessage.java | 2 +-
.../cache/partitioned/ManageBucketMessage.java | 2 +-
.../cache/partitioned/PRTombstoneMessage.java | 2 +-
.../cache/partitioned/PartitionMessage.java | 12 +--
...rtitionedRegionFunctionStreamingMessage.java | 2 +-
.../PartitionedRegionObserverHolder.java | 4 +-
.../internal/cache/partitioned/PutMessage.java | 24 +++---
.../cache/partitioned/RegionAdvisor.java | 14 ++--
.../cache/partitioned/RemoteSizeMessage.java | 2 +-
.../cache/partitioned/RemoveAllPRMessage.java | 10 +--
.../cache/partitioned/RemoveIndexesMessage.java | 10 +--
.../cache/persistence/BytesAndBits.java | 4 +-
.../persistence/MembershipViewRequest.java | 2 +-
.../cache/tier/sockets/BaseCommand.java | 2 +-
.../tier/sockets/CacheClientNotifierStats.java | 24 +++---
.../tier/sockets/CacheClientProxyStats.java | 4 +-
.../internal/cache/tier/sockets/HandShake.java | 2 +-
.../internal/cache/tier/sockets/Message.java | 2 +-
.../geode/internal/cache/tier/sockets/Part.java | 4 +-
.../tier/sockets/UnregisterAllInterest.java | 2 +-
.../cache/vmotion/VMotionObserverHolder.java | 4 +-
.../cache/wan/AbstractGatewaySender.java | 14 ++--
.../AbstractGatewaySenderEventProcessor.java | 4 +-
.../parallel/ParallelGatewaySenderQueue.java | 12 +--
.../wan/serial/SerialGatewaySenderQueue.java | 8 +-
.../geode/internal/cache/xmlcache/CacheXml.java | 16 ++--
.../concurrent/CompactConcurrentHashSet2.java | 66 +++++++--------
.../geode/internal/logging/PureLogWriter.java | 4 +-
.../logging/log4j/LocalizedMessage.java | 8 +-
.../logging/log4j/LogWriterAppender.java | 2 +-
.../apache/geode/internal/offheap/DataType.java | 2 +-
.../geode/internal/shared/NativeCalls.java | 6 +-
.../internal/shared/NativeCallsJNAImpl.java | 2 +-
.../internal/shared/NativeErrorException.java | 2 +-
.../apache/geode/internal/shared/OSType.java | 2 +-
.../statistics/AbstractStatisticsFactory.java | 68 ++++++++--------
.../statistics/DummyStatisticsImpl.java | 80 +++++++++---------
.../internal/statistics/GemFireStatSampler.java | 28 +++----
.../internal/statistics/HostStatSampler.java | 40 ++++-----
.../statistics/LocalStatisticsImpl.java | 26 +++---
.../internal/statistics/SampleCollector.java | 2 +-
.../internal/statistics/SimpleStatisticId.java | 4 +-
.../internal/statistics/StatArchiveReader.java | 2 +-
.../internal/statistics/StatArchiveWriter.java | 34 ++++----
.../statistics/StatisticDescriptorImpl.java | 34 ++++----
.../internal/statistics/StatisticsImpl.java | 86 ++++++++++----------
.../statistics/StatisticsTypeFactoryImpl.java | 4 +-
.../internal/statistics/StatisticsTypeImpl.java | 10 +--
.../statistics/platform/ProcessStats.java | 4 +-
.../stats50/Atomic50StatisticsImpl.java | 50 ++++++------
.../internal/tcp/ByteBufferInputStream.java | 16 ++--
.../apache/geode/internal/tcp/Connection.java | 20 ++---
.../geode/internal/tcp/MsgDestreamer.java | 6 +-
.../geode/internal/tcp/MsgOutputStream.java | 34 ++++----
.../apache/geode/internal/tcp/MsgStreamer.java | 52 ++++++------
.../internal/tcp/VersionedMsgStreamer.java | 2 +-
.../geode/internal/util/CollectionUtils.java | 4 +-
.../CustomEntryConcurrentHashMap.java | 46 +++++------
.../geode/management/cli/CommandService.java | 4 +-
.../geode/management/internal/AlertDetails.java | 2 +-
.../management/internal/ArrayConverter.java | 4 +-
.../internal/CollectionConverter.java | 4 +-
.../management/internal/CompositeConverter.java | 4 +-
.../management/internal/EnumConverter.java | 4 +-
.../management/internal/IdentityConverter.java | 2 +-
.../geode/management/internal/OpenMethod.java | 12 +--
.../management/internal/OpenTypeConverter.java | 12 +--
.../management/internal/TableConverter.java | 4 +-
.../internal/cli/commands/DeployCommands.java | 8 +-
.../internal/cli/commands/StatusCommands.java | 2 +-
.../configuration/domain/CacheElement.java | 4 +-
.../configuration/domain/XmlEntity.java | 10 +--
.../internal/configuration/utils/XmlUtils.java | 14 ++--
.../web/io/MultipartFileResourceAdapter.java | 2 +-
.../web/shell/AbstractHttpOperationInvoker.java | 6 +-
.../shell/support/HttpInvocationHandler.java | 4 +-
.../pdx/ReflectionBasedAutoSerializer.java | 10 +--
.../pdx/internal/AutoSerializableManager.java | 4 +-
.../geode/redis/internal/RegionProvider.java | 8 +-
.../internal/executor/hll/HllExecutor.java | 2 +-
.../internal/executor/list/ListExecutor.java | 2 +-
.../executor/sortedset/ZRangeByLexExecutor.java | 2 +-
.../executor/string/StringExecutor.java | 2 +-
.../security/GemFireSecurityException.java | 6 +-
.../cache/query/internal/cq/CqConflatable.java | 18 ++--
.../internal/locator/wan/LocatorDiscovery.java | 2 +-
213 files changed, 1104 insertions(+), 1104 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/admin/internal/AbstractHealthEvaluator.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/AbstractHealthEvaluator.java b/geode-core/src/main/java/org/apache/geode/admin/internal/AbstractHealthEvaluator.java
index 57b42a8..14235b9 100644
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/AbstractHealthEvaluator.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/AbstractHealthEvaluator.java
@@ -70,7 +70,7 @@ public abstract class AbstractHealthEvaluator {
* @param status A list of {@link AbstractHealthEvaluator.HealthStatus HealthStatus} objects that
* is populated when ill health is detected.
*/
- public final void evaluate(List status) {
+ public void evaluate(List status) {
this.numEvaluations++;
check(status);
}
@@ -85,7 +85,7 @@ public abstract class AbstractHealthEvaluator {
/**
* Returns whether or not this is the first evaluation
*/
- protected final boolean isFirstEvaluation() {
+ protected boolean isFirstEvaluation() {
return this.numEvaluations <= 1;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/admin/internal/AdminDistributedSystemImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/AdminDistributedSystemImpl.java b/geode-core/src/main/java/org/apache/geode/admin/internal/AdminDistributedSystemImpl.java
index ed0c015..9cd9ce3 100755
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/AdminDistributedSystemImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/AdminDistributedSystemImpl.java
@@ -1813,7 +1813,7 @@ public class AdminDistributedSystemImpl implements org.apache.geode.admin.AdminD
*
* @see #createGemFireHealth
*/
- public final GemFireHealth getGemFireHealth() {
+ public GemFireHealth getGemFireHealth() {
synchronized (this) {
if (this.health == null || this.health.isClosed()) {
try {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemConfigImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemConfigImpl.java b/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemConfigImpl.java
index 7a75612..ae9f3c8 100755
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemConfigImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemConfigImpl.java
@@ -638,7 +638,7 @@ public class DistributedSystemConfigImpl implements DistributedSystemConfig {
private static final String ILLEGAL_REMOTE_COMMAND_RSH_OR_SSH =
"Allowed remote commands include \"rsh {HOST} {CMD}\" or \"ssh {HOST} {CMD}\" with valid rsh or ssh switches. Invalid: ";
- private final void checkRemoteCommand(final String remoteCommand) {
+ private void checkRemoteCommand(final String remoteCommand) {
if (remoteCommand == null || remoteCommand.isEmpty()) {
return;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberImpl.java b/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberImpl.java
index 1e2d2a7..da09903 100755
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberImpl.java
@@ -132,19 +132,19 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
return new DistributionConfigImpl(props);
}
- public final AdminDistributedSystem getDistributedSystem() {
+ public AdminDistributedSystem getDistributedSystem() {
return this.system;
}
- public final InternalDistributedMember getInternalId() {
+ public InternalDistributedMember getInternalId() {
return internalId;
}
- public final String getId() {
+ public String getId() {
return this.id;
}
- public final String getName() {
+ public String getName() {
return this.name;
}
@@ -152,7 +152,7 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
return this.host;
}
- public final InetAddress getHostAddress() {
+ public InetAddress getHostAddress() {
return InetAddressUtil.toInetAddress(this.getHost());
}
@@ -160,7 +160,7 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
// Operations
// -------------------------------------------------------------------------
- public final String getLog() {
+ public String getLog() {
String childTail = null;
String mainTail = null;
GemFireVM vm = getGemFireVM();
@@ -189,14 +189,14 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
}
}
- public final java.util.Properties getLicense() {
+ public java.util.Properties getLicense() {
GemFireVM vm = getGemFireVM();
if (vm == null)
return null;
return new Properties();
}
- public final String getVersion() {
+ public String getVersion() {
GemFireVM vm = getGemFireVM();
if (vm == null)
return null;
@@ -220,7 +220,7 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
return statsImpl;
}
- public final boolean hasCache() {
+ public boolean hasCache() {
GemFireVM member = getGemFireVM();
if (member == null) {
return false;
@@ -230,7 +230,7 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
}
}
- public final SystemMemberCache getCache() throws org.apache.geode.admin.AdminException {
+ public SystemMemberCache getCache() throws org.apache.geode.admin.AdminException {
GemFireVM vm = getGemFireVM(); // fix for bug 33505
if (vm == null)
return null;
@@ -256,7 +256,7 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
* Sets the value of this system member's distribution-related configuration based on the given
* <code>Config</code> object.
*/
- public final void refreshConfig(Config config) throws org.apache.geode.admin.AdminException {
+ public void refreshConfig(Config config) throws org.apache.geode.admin.AdminException {
if (config == null) {
throw new AdminException(
LocalizedStrings.SystemMemberImpl_FAILED_TO_REFRESH_CONFIGURATION_PARAMETERS_FOR_0
@@ -285,7 +285,7 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
}
}
- public final ConfigurationParameter[] getConfiguration() {
+ public ConfigurationParameter[] getConfiguration() {
ConfigurationParameter[] array = new ConfigurationParameter[this.parms.size()];
this.parms.values().toArray(array);
return array;
@@ -368,7 +368,7 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
/**
* Returns the <code>GemFireVM</code> that underlies this <code>SystemMember</code>.
*/
- protected final GemFireVM getGemFireVM() {
+ protected GemFireVM getGemFireVM() {
return this.vm;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
index 180d31b..ed0b82c 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
@@ -323,7 +323,7 @@ public abstract class AbstractOp implements Op {
* @throws Exception if response could not be processed or we received a response with a server
* exception.
*/
- protected final void processChunkedResponse(ChunkedMessage msg, String opName,
+ protected void processChunkedResponse(ChunkedMessage msg, String opName,
ChunkHandler callback) throws Exception {
msg.readHeader();
final int msgType = msg.getMessageType();
@@ -392,11 +392,11 @@ public abstract class AbstractOp implements Op {
}
}
- protected final boolean hasFailed() {
+ protected boolean hasFailed() {
return this.failed;
}
- protected final boolean hasTimedOut() {
+ protected boolean hasTimedOut() {
return this.timedOut;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
index ec4895f..1783e2f 100755
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
@@ -539,7 +539,7 @@ public class ClientMetadataService {
}
}
- public final void getClientPRMetadata(LocalRegion region) {
+ void getClientPRMetadata(LocalRegion region ) {
final String regionFullPath = region.getFullPath();
ClientPartitionAdvisor advisor = null;
InternalPool pool = region.getServerProxy().getPool();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionStats.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionStats.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionStats.java
index d91719d..ba647c8 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionStats.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionStats.java
@@ -3256,11 +3256,11 @@ public class ConnectionStats implements MessageStats {
this.sendStats.close();
}
- public final void incReceivedBytes(long v) {
+ public void incReceivedBytes(long v) {
this.stats.incLong(receivedBytesId, v);
}
- public final void incSentBytes(long v) {
+ public void incSentBytes(long v) {
this.stats.incLong(sentBytesId, v);
// if (this.gatewayStats != null) {
// this.gatewayStats.incSentBytes(v);
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/client/internal/PoolImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/PoolImpl.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/PoolImpl.java
index a436aed..882c7e6 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/PoolImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/PoolImpl.java
@@ -1310,7 +1310,7 @@ public class PoolImpl implements InternalPool {
public static abstract class PoolTask implements Runnable {
- public final void run() {
+ public void run() {
try {
run2();
} catch (VirtualMachineError e) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/client/internal/PutOp.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/PutOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/PutOp.java
index 906a2b3..447ed38 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/PutOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/PutOp.java
@@ -361,7 +361,7 @@ public class PutOp {
* exception.
* @since GemFire 6.1
*/
- private final void processAck(Message msg, String opName, Connection con) throws Exception {
+ private void processAck(Message msg, String opName, Connection con) throws Exception {
final int msgType = msg.getMessageType();
// Update delta stats
if (this.deltaSent && this.region != null) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueStateImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueStateImpl.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueStateImpl.java
index 7ada76f..2530472 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueStateImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueStateImpl.java
@@ -392,21 +392,21 @@ public class QueueStateImpl implements QueueState {
/**
* @return Returns the creationTime.
*/
- public final long getCreationTime() {
+ public long getCreationTime() {
return creationTime;
}
/**
* @return Returns the sequenceId.
*/
- public final long getSequenceId() {
+ public long getSequenceId() {
return sequenceId;
}
/**
* @return Returns the putAllSequenceId.
*/
- public final long getPutAllSequenceId() {
+ public long getPutAllSequenceId() {
return putAllSequenceId;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/query/internal/ObjectIntHashMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ObjectIntHashMap.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ObjectIntHashMap.java
index ff794d6..d0cf5db 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ObjectIntHashMap.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ObjectIntHashMap.java
@@ -340,7 +340,7 @@ public class ObjectIntHashMap implements Cloneable, Serializable {
* Returns the entry associated with the specified key in the IntHashMap. Returns null if the
* IntHashMap contains no mapping for the key.
*/
- final Entry getEntry(Object key) {
+ Entry getEntry(Object key) {
int hash = (key == null) ? 0 : hash(hashingStrategy.hashCode(key));
for (Entry e = table[indexFor(hash, table.length)]; e != null; e = e.next) {
Object k;
@@ -530,7 +530,7 @@ public class ObjectIntHashMap implements Cloneable, Serializable {
* Removes and returns the entry associated with the specified key in the IntHashMap. Returns null
* if the IntHashMap contains no mapping for this key.
*/
- final Entry removeEntryForKey(Object key) {
+ Entry removeEntryForKey(Object key) {
int hash = (key == null) ? 0 : hash(hashingStrategy.hashCode(key));
int i = indexFor(hash, table.length);
Entry prev = table[i];
@@ -560,7 +560,7 @@ public class ObjectIntHashMap implements Cloneable, Serializable {
/**
* Special version of remove for EntrySet.
*/
- final Entry removeMapping(Object o) {
+ Entry removeMapping(Object o) {
if (!(o instanceof Entry))
return null;
@@ -850,11 +850,11 @@ public class ObjectIntHashMap implements Cloneable, Serializable {
}
}
- public final boolean hasNext() {
+ public boolean hasNext() {
return next != null;
}
- final Entry nextEntry() {
+ Entry nextEntry() {
if (modCount != expectedModCount)
throw new ConcurrentModificationException();
Entry e = next;
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/query/internal/QueryObserverHolder.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/QueryObserverHolder.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/QueryObserverHolder.java
index 93f848f..5bba736 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/QueryObserverHolder.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/QueryObserverHolder.java
@@ -49,7 +49,7 @@ public class QueryObserverHolder {
/**
* Set the given observer to be notified of query events. Returns the current observer.
*/
- public static final QueryObserver setInstance(QueryObserver observer) {
+ public static QueryObserver setInstance(QueryObserver observer) {
Support.assertArg(observer != null, "setInstance expects a non-null argument!");
QueryObserver oldObserver = _instance;
_instance = observer;
@@ -61,14 +61,14 @@ public class QueryObserverHolder {
}
/** Return the current QueryObserver instance */
- public static final QueryObserver getInstance() {
+ public static QueryObserver getInstance() {
return _instance;
}
/**
* Only for test purposes.
*/
- public static final void reset() {
+ public static void reset() {
_instance = NO_OBSERVER;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructBag.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructBag.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructBag.java
index 2e9697b..5db6e28 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructBag.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructBag.java
@@ -52,12 +52,12 @@ public class StructBag extends ResultsBag implements StructFields {
*/
protected static class ObjectArrayHashingStrategy implements HashingStrategy {
- public final int hashCode(Object o) {
+ public int hashCode(Object o) {
Object[] oa = (Object[]) o;
return Arrays.deepHashCode(oa);
}
- public final boolean equals(Object o1, Object o2) {
+ public boolean equals(Object o1, Object o2) {
if (o1 == null)
return o2 == null;
if (!(o1 instanceof Object[]) || !(o2 instanceof Object[])) {
@@ -73,7 +73,7 @@ public class StructBag extends ResultsBag implements StructFields {
protected static class ObjectArrayFUHashingStrategy implements Hash.Strategy<Object> {
private static final long serialVersionUID = 8975047264555337042L;
- public final int hashCode(Object o) {
+ public int hashCode(Object o) {
// throws ClassCastException if not Object[]
// compute hash code based on all elements
if (!(o instanceof Object[])) {
@@ -90,7 +90,7 @@ public class StructBag extends ResultsBag implements StructFields {
return h;
}
- public final boolean equals(Object o1, Object o2) {
+ public boolean equals(Object o1, Object o2) {
// throws ClassCastException if not Object[]
if (o1 == null)
return o2 == null;
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java
index 7003d73..bbc6979 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java
@@ -64,7 +64,7 @@ public class StructSet /* extends ObjectOpenCustomHashSet */ implements Set, Sel
protected static class ObjectArrayHashingStrategy implements ObjectOpenCustomHashSet.Strategy {
private static final long serialVersionUID = -6407549977968716071L;
- public final int hashCode(Object o) {
+ public int hashCode(Object o) {
// throws ClassCastException if not Object[]
// compute hash code based on all elements
Object[] oa = (Object[]) o;
@@ -77,7 +77,7 @@ public class StructSet /* extends ObjectOpenCustomHashSet */ implements Set, Sel
return h;
}
- public final boolean equals(Object o1, Object o2) {
+ public boolean equals(Object o1, Object o2) {
// throws ClassCastException if not Object[]
if (o1 == null)
return o2 == null;
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/HashIndexSet.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/HashIndexSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/HashIndexSet.java
index eb21f97..d7304ea 100755
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/HashIndexSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/HashIndexSet.java
@@ -484,7 +484,7 @@ public class HashIndexSet implements Set {
return false;
}
- public final boolean areObjectsEqual(Object o1, Object o2) {
+ public boolean areObjectsEqual(Object o1, Object o2) {
if (o1 == null) {
return o2 == null;
}
@@ -671,7 +671,7 @@ public class HashIndexSet implements Set {
/**
* Before inserting we can ensure we have capacity
*/
- protected final void preInsertHook() {
+ protected void preInsertHook() {
if (hashIndexSetProperties.size > hashIndexSetProperties.maxSize
|| hashIndexSetProperties.free == 0 || TEST_ALWAYS_REHASH) {
rehash(arraySize(hashIndexSetProperties.size + 1, _loadFactor));
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/AbstractDistributionConfig.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/AbstractDistributionConfig.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/AbstractDistributionConfig.java
index 2c6c025..01c6157 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/AbstractDistributionConfig.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/AbstractDistributionConfig.java
@@ -1241,7 +1241,7 @@ public abstract class AbstractDistributionConfig extends AbstractConfig
return dcAttDescriptions;
}
- public static final InetAddress _getDefaultMcastAddress() {
+ public static InetAddress _getDefaultMcastAddress() {
// Default MCast address can be just IPv4 address.
// On IPv6 machines, JGroups converts IPv4 address to equivalent IPv6 address.
String ipLiteral = "239.192.81.1";
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
index 1d3dc86..10c187c 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
@@ -372,7 +372,7 @@ public class DistributionAdvisor {
return getAdvisee().getDistributionManager();
}
- public final DistributionAdvisee getAdvisee() {
+ public DistributionAdvisee getAdvisee() {
return this.advisee;
}
@@ -458,7 +458,7 @@ public class DistributionAdvisor {
}
// wait for pending profile exchange to complete before returning
- public final boolean isInitialized() {
+ public boolean isInitialized() {
synchronized (this.initializeLock) {
return this.initialized;
}
@@ -470,7 +470,7 @@ public class DistributionAdvisor {
*
* @since GemFire 5.7
*/
- public final boolean pollIsInitialized() {
+ public boolean pollIsInitialized() {
return this.initialized;
}
@@ -755,7 +755,7 @@ public class DistributionAdvisor {
* @param version The membership version returned by startOperation
* @since GemFire 5.1
*/
- public final synchronized long endOperation(long version) {
+ public synchronized long endOperation(long version) {
synchronized (this.opCountLock) {
if (version == membershipVersion) {
currentVersionOpCount--;
@@ -1182,7 +1182,7 @@ public class DistributionAdvisor {
* @since GemFire 5.7
*/
@SuppressWarnings("unchecked")
- protected final Set<InternalDistributedMember> getDefaultDistributionMembers() {
+ protected Set<InternalDistributedMember> getDefaultDistributionMembers() {
if (!useAdminMembersForDefault()) {
return getDistributionManager().getOtherDistributionManagerIds();
} else {
@@ -1622,7 +1622,7 @@ public class DistributionAdvisor {
* @param removeProfile true to remove profile else add profile
* @param exchangeProfiles true to add the profile to reply
*/
- protected final void handleDistributionAdvisee(DistributionAdvisee advisee,
+ protected void handleDistributionAdvisee(DistributionAdvisee advisee,
boolean removeProfile, boolean exchangeProfiles, final List<Profile> replyProfiles) {
final DistributionAdvisor da;
if (advisee != null && (da = advisee.getDistributionAdvisor()) != null) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java
index 69a5d90..403b420 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java
@@ -144,7 +144,7 @@ public abstract class DistributionMessage implements DataSerializableFixedID, Cl
return mask;
}
- public static final byte getNumBits(final int maxValue) {
+ public static byte getNumBits(final int maxValue) {
byte numBits = 1;
while ((1 << numBits) <= maxValue) {
numBits++;
@@ -345,7 +345,7 @@ public abstract class DistributionMessage implements DataSerializableFixedID, Cl
/**
* Scheduled action to take when on this message when we are ready to process it.
*/
- protected final void scheduleAction(final DistributionManager dm) {
+ protected void scheduleAction(final DistributionManager dm) {
if (logger.isTraceEnabled(LogMarker.DM)) {
logger.trace(LogMarker.DM, "Processing '{}'", this);
}
@@ -411,7 +411,7 @@ public abstract class DistributionMessage implements DataSerializableFixedID, Cl
/**
* Schedule this message's process() method in a thread determined by getExecutor()
*/
- protected final void schedule(final DistributionManager dm) {
+ protected void schedule(final DistributionManager dm) {
boolean inlineProcess = DistributionManager.INLINE_PROCESS
&& getProcessorType() == DistributionManager.SERIAL_EXECUTOR && !isPreciousThread();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessageObserver.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessageObserver.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessageObserver.java
index 35c0a2e..d48a689 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessageObserver.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessageObserver.java
@@ -30,14 +30,14 @@ public abstract class DistributionMessageObserver {
* @param instance
* @return the old observer, or null if there was no old observer.
*/
- public static final DistributionMessageObserver setInstance(
+ public static DistributionMessageObserver setInstance(
DistributionMessageObserver instance) {
DistributionMessageObserver oldInstance = DistributionMessageObserver.instance;
DistributionMessageObserver.instance = instance;
return oldInstance;
}
- public static final DistributionMessageObserver getInstance() {
+ public static DistributionMessageObserver getInstance() {
return instance;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/FunctionExecutionPooledExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/FunctionExecutionPooledExecutor.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/FunctionExecutionPooledExecutor.java
index a519c0e..3f3eaba 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/FunctionExecutionPooledExecutor.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/FunctionExecutionPooledExecutor.java
@@ -212,14 +212,14 @@ public class FunctionExecutionPooledExecutor extends ThreadPoolExecutor {
}
@Override
- protected final void beforeExecute(Thread t, Runnable r) {
+ protected void beforeExecute(Thread t, Runnable r) {
if (this.stats != null) {
this.stats.startJob();
}
}
@Override
- protected final void afterExecute(Runnable r, Throwable ex) {
+ protected void afterExecute(Runnable r, Throwable ex) {
if (this.stats != null) {
this.stats.endJob();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
index 873ec4b..eeb44e7a 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
@@ -1460,7 +1460,7 @@ public class InternalDistributedSystem extends DistributedSystem
/**
* Returns the distribution manager without checking for connected or not so can also return null.
*/
- public final DM getDM() {
+ public DM getDM() {
return this.dm;
}
@@ -1471,7 +1471,7 @@ public class InternalDistributedSystem extends DistributedSystem
*
* @return the quorum checking service
*/
- public final QuorumChecker getQuorumChecker() {
+ public QuorumChecker getQuorumChecker() {
return this.quorumChecker;
}
@@ -1743,7 +1743,7 @@ public class InternalDistributedSystem extends DistributedSystem
}
@Override
- public final int getStatisticsCount() {
+ public int getStatisticsCount() {
int result = 0;
List<Statistics> statsList = this.statsList;
if (statsList != null) {
@@ -1753,7 +1753,7 @@ public class InternalDistributedSystem extends DistributedSystem
}
@Override
- public final Statistics findStatistics(long id) {
+ public Statistics findStatistics(long id) {
List<Statistics> statsList = this.statsList;
for (Statistics s : statsList) {
if (s.getUniqueId() == id) {
@@ -1765,7 +1765,7 @@ public class InternalDistributedSystem extends DistributedSystem
}
@Override
- public final boolean statisticsExists(long id) {
+ public boolean statisticsExists(long id) {
List<Statistics> statsList = this.statsList;
for (Statistics s : statsList) {
if (s.getUniqueId() == id) {
@@ -1776,7 +1776,7 @@ public class InternalDistributedSystem extends DistributedSystem
}
@Override
- public final Statistics[] getStatistics() {
+ public Statistics[] getStatistics() {
List<Statistics> statsList = this.statsList;
return (Statistics[]) statsList.toArray(new Statistics[0]);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/LocatorStats.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/LocatorStats.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/LocatorStats.java
index b7f6e04..1f51a8d 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/LocatorStats.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/LocatorStats.java
@@ -112,7 +112,7 @@ public class LocatorStats {
}
- public final void setServerCount(int sc) {
+ public void setServerCount(int sc) {
if (this._stats == null) {
this.endpoints_known.set(sc);
} else {
@@ -120,7 +120,7 @@ public class LocatorStats {
}
}
- public final void setLocatorCount(int lc) {
+ public void setLocatorCount(int lc) {
if (this._stats == null) {
this.known_locators.set(lc);
} else {
@@ -128,7 +128,7 @@ public class LocatorStats {
}
}
- public final void endLocatorRequest(long startTime) {
+ public void endLocatorRequest(long startTime) {
long took = DistributionStats.getStatTime() - startTime;
if (this._stats == null) {
this.requests_to_locator.incrementAndGet();
@@ -143,7 +143,7 @@ public class LocatorStats {
}
}
- public final void endLocatorResponse(long startTime) {
+ public void endLocatorResponse(long startTime) {
long took = DistributionStats.getStatTime() - startTime;
if (this._stats == null) {
this.responses_from_locator.incrementAndGet();
@@ -160,7 +160,7 @@ public class LocatorStats {
- public final void setLocatorRequests(long rl) {
+ public void setLocatorRequests(long rl) {
if (this._stats == null) {
this.requests_to_locator.set(rl);
} else {
@@ -168,7 +168,7 @@ public class LocatorStats {
}
}
- public final void setLocatorResponses(long rl) {
+ public void setLocatorResponses(long rl) {
if (this._stats == null) {
this.responses_from_locator.set(rl);
} else {
@@ -176,7 +176,7 @@ public class LocatorStats {
}
}
- public final void setServerLoadUpdates(long v) {
+ public void setServerLoadUpdates(long v) {
if (this._stats == null) {
this.serverLoadUpdates.set(v);
} else {
@@ -184,7 +184,7 @@ public class LocatorStats {
}
}
- public final void incServerLoadUpdates() {
+ public void incServerLoadUpdates() {
if (this._stats == null) {
this.serverLoadUpdates.incrementAndGet();
} else {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/PooledDistributionMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/PooledDistributionMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/PooledDistributionMessage.java
index 4a76f20..9888342 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/PooledDistributionMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/PooledDistributionMessage.java
@@ -23,7 +23,7 @@ package org.apache.geode.distributed.internal;
public abstract class PooledDistributionMessage extends DistributionMessage {
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.STANDARD_EXECUTOR;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/PooledExecutorWithDMStats.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/PooledExecutorWithDMStats.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/PooledExecutorWithDMStats.java
index f2092a4..00dcf00 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/PooledExecutorWithDMStats.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/PooledExecutorWithDMStats.java
@@ -151,14 +151,14 @@ public class PooledExecutorWithDMStats extends ThreadPoolExecutor {
}
@Override
- protected final void beforeExecute(Thread t, Runnable r) {
+ protected void beforeExecute(Thread t, Runnable r) {
if (this.stats != null) {
this.stats.startJob();
}
}
@Override
- protected final void afterExecute(Runnable r, Throwable ex) {
+ protected void afterExecute(Runnable r, Throwable ex) {
if (this.stats != null) {
this.stats.endJob();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/ReliableReplyProcessor21.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/ReliableReplyProcessor21.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/ReliableReplyProcessor21.java
index 3904ba7..c57d38e 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/ReliableReplyProcessor21.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/ReliableReplyProcessor21.java
@@ -90,7 +90,7 @@ public class ReliableReplyProcessor21 extends ReplyProcessor21 {
* @throws InterruptedException
* @throws ReliableReplyException when a member departs
*/
- public final void waitForReliableDelivery()
+ public void waitForReliableDelivery()
throws ReplyException, InterruptedException, ReliableReplyException {
waitForReliableDelivery(0);
}
@@ -102,7 +102,7 @@ public class ReliableReplyProcessor21 extends ReplyProcessor21 {
* @throws InterruptedException
* @throws ReliableReplyException
*/
- public final void waitForReliableDelivery(long msecs)
+ public void waitForReliableDelivery(long msecs)
throws ReplyException, InterruptedException, ReliableReplyException {
super.waitForReplies(msecs);
synchronized (this) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyMessage.java
index 73fde88..2673f68 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyMessage.java
@@ -182,11 +182,11 @@ public class ReplyMessage extends HighPriorityDistributionMessage {
* @param dm the distribution manager that is processing the message.
*/
@Override
- protected final void process(final DistributionManager dm) {
+ protected void process(final DistributionManager dm) {
dmProcess(dm);
}
- public final void dmProcess(final DM dm) {
+ public void dmProcess(final DM dm) {
final long startTime = getTimestamp();
ReplyProcessor21 processor = ReplyProcessor21.getProcessor(processorId);
try {
@@ -262,7 +262,7 @@ public class ReplyMessage extends HighPriorityDistributionMessage {
public static final byte OBJECT_FLAG = 0x40;
public static final byte INTERNAL_FLAG = (byte) 0x80;
- private static final boolean testFlag(byte status, byte flag) {
+ private static boolean testFlag(byte status, byte flag) {
return (status & flag) != 0;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyProcessor21.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyProcessor21.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyProcessor21.java
index bc66dd8..7e87c8c 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyProcessor21.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyProcessor21.java
@@ -512,7 +512,7 @@ public class ReplyProcessor21 implements MembershipListener {
* @throws InterruptedException thrown if the wait is interrupted
* @see #canStopWaiting()
*/
- public final void waitForReplies() throws InterruptedException, ReplyException {
+ public void waitForReplies() throws InterruptedException, ReplyException {
boolean result = waitForReplies(0);
Assert.assertTrue(result, "failed but no exception thrown");
@@ -587,7 +587,7 @@ public class ReplyProcessor21 implements MembershipListener {
// start waiting for replies without explicitly waiting for all of them using
// waitForReplies* methods; useful for streaming of results in function execution
- public final void startWait() {
+ public void startWait() {
if (!this.waiting && stillWaiting()) {
preWait();
}
@@ -595,7 +595,7 @@ public class ReplyProcessor21 implements MembershipListener {
// end waiting for replies without explicitly invoking waitForReplies*
// methods; useful for streaming of results in function execution
- public final void endWait(boolean doCleanup) {
+ public void endWait(boolean doCleanup) {
try {
postWait();
} finally {
@@ -618,11 +618,11 @@ public class ReplyProcessor21 implements MembershipListener {
*
* @return Whether or not we received all of the replies in the given amount of time.
*/
- public final boolean waitForReplies(long msecs) throws InterruptedException, ReplyException {
+ public boolean waitForReplies(long msecs) throws InterruptedException, ReplyException {
return waitForReplies(msecs, getLatch(), true);
}
- public final boolean waitForReplies(long msecs, StoppableCountDownLatch latch, boolean doCleanUp)
+ public boolean waitForReplies(long msecs, StoppableCountDownLatch latch, boolean doCleanUp)
throws InterruptedException, ReplyException {
if (this.keeperCleanedUp) {
throw new IllegalStateException(
@@ -765,11 +765,11 @@ public class ReplyProcessor21 implements MembershipListener {
* "ack-threshold-exception" is set to true
* @throws IllegalStateException if the processor is not registered to receive replies
*/
- public final boolean waitForRepliesUninterruptibly(long p_msecs) throws ReplyException {
+ public boolean waitForRepliesUninterruptibly(long p_msecs) throws ReplyException {
return waitForRepliesUninterruptibly(p_msecs, getLatch(), true);
}
- public final boolean waitForRepliesUninterruptibly(long p_msecs, StoppableCountDownLatch latch,
+ public boolean waitForRepliesUninterruptibly(long p_msecs, StoppableCountDownLatch latch,
boolean doCleanUp) throws ReplyException {
if (this.keeperCleanedUp) {
throw new IllegalStateException(
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/SerialQueuedExecutorWithDMStats.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/SerialQueuedExecutorWithDMStats.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/SerialQueuedExecutorWithDMStats.java
index 45cffa3..5861e40 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/SerialQueuedExecutorWithDMStats.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/SerialQueuedExecutorWithDMStats.java
@@ -33,14 +33,14 @@ public class SerialQueuedExecutorWithDMStats extends ThreadPoolExecutor {
}
@Override
- protected final void beforeExecute(Thread t, Runnable r) {
+ protected void beforeExecute(Thread t, Runnable r) {
if (this.stats != null) {
this.stats.startJob();
}
}
@Override
- protected final void afterExecute(Runnable r, Throwable ex) {
+ protected void afterExecute(Runnable r, Throwable ex) {
if (this.stats != null) {
this.stats.endJob();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocation.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocation.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocation.java
index 6dcf0a5..3004496 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocation.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocation.java
@@ -66,11 +66,11 @@ public class ServerLocation implements DataSerializable, Comparable {
this.port = port;
}
- public final String getHostName() {
+ public String getHostName() {
return hostName;
}
- public final int getPort() {
+ public int getPort() {
return port;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
index ec2e3e6..a8dec5d 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
@@ -231,7 +231,7 @@ public class DirectChannel {
* @throws ConnectExceptions if message could not be send to its <code>destination</code>
* @throws NotSerializableException If the msg cannot be serialized
*/
- private final int sendToOne(final MembershipManager mgr,
+ private int sendToOne(final MembershipManager mgr,
InternalDistributedMember[] p_destinations, final DistributionMessage msg,
long ackWaitThreshold, long ackSAThreshold)
throws ConnectExceptions, NotSerializableException {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java
index 35d19bb..c38cdad 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java
@@ -255,15 +255,15 @@ public class DLockService extends DistributedLockService {
}
}
- private final boolean isCurrentThreadDoingDestroy() {
+ private boolean isCurrentThreadDoingDestroy() {
return Boolean.TRUE.equals(this.destroyingThread.get());
}
- private final void setDestroyingThread() {
+ private void setDestroyingThread() {
this.destroyingThread.set(Boolean.TRUE);
}
- private final void clearDestroyingThread() {
+ private void clearDestroyingThread() {
this.destroyingThread.remove();
}
@@ -2102,7 +2102,7 @@ public class DLockService extends DistributedLockService {
// Public instance methods
// -------------------------------------------------------------------------
- public final DistributedLockStats getStats() {
+ public DistributedLockStats getStats() {
return this.dlockStats;
}
@@ -2299,11 +2299,11 @@ public class DLockService extends DistributedLockService {
}
/** The name of this service */
- public final String getName() {
+ public String getName() {
return this.serviceName;
}
- public final DM getDistributionManager() {
+ public DM getDistributionManager() {
return this.dm;
}
@@ -3270,7 +3270,7 @@ public class DLockService extends DistributedLockService {
}
- public final CancelCriterion getCancelCriterion() {
+ public CancelCriterion getCancelCriterion() {
return stopper;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/ElderState.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/ElderState.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/ElderState.java
index ba78771..1ee15af 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/ElderState.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/ElderState.java
@@ -355,7 +355,7 @@ public class ElderState {
}
}
- private final boolean isInitiatingTransfer(GrantorInfo gi) {
+ private boolean isInitiatingTransfer(GrantorInfo gi) {
if (gi == null)
return false;
synchronized (this) {
@@ -363,20 +363,20 @@ public class ElderState {
}
}
- private final void beginInitiatingTransfer(GrantorInfo gi) {
+ private void beginInitiatingTransfer(GrantorInfo gi) {
synchronized (this) {
gi.setInitiatingTransfer(true);
}
}
- private final void finishInitiatingTransfer(GrantorInfo gi) {
+ private void finishInitiatingTransfer(GrantorInfo gi) {
synchronized (this) {
gi.setInitiatingTransfer(false);
notifyAll();
}
}
- private final void waitWhileInitiatingTransfer(GrantorInfo gi) {
+ private void waitWhileInitiatingTransfer(GrantorInfo gi) {
synchronized (this) {
boolean interrupted = false;
try {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorInfo.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorInfo.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorInfo.java
index 449627d..6fd969f 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorInfo.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorInfo.java
@@ -38,40 +38,40 @@ public class GrantorInfo {
}
/** Caller is sync'ed on ElderState */
- public final void setInitiatingTransfer(boolean initiatingTransfer) {
+ public void setInitiatingTransfer(boolean initiatingTransfer) {
this.initiatingTransfer = initiatingTransfer;
}
/** Caller is sync'ed on ElderState */
- public final boolean isInitiatingTransfer() {
+ public boolean isInitiatingTransfer() {
return this.initiatingTransfer;
}
/**
* Gets the member id of this grantor.
*/
- public final InternalDistributedMember getId() {
+ public InternalDistributedMember getId() {
return this.id;
}
/**
* Returns true if the current grantor needs to do lock recovery.
*/
- public final boolean needsRecovery() {
+ public boolean needsRecovery() {
return this.needsRecovery;
}
/**
* Returns the elder version id of this grantor.
*/
- public final long getVersionId() {
+ public long getVersionId() {
return this.versionId;
}
/**
* Returns the DLockService serial number of this grantor.
*/
- public final int getSerialNumber() {
+ public int getSerialNumber() {
return this.serialNumber;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorRequestProcessor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorRequestProcessor.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorRequestProcessor.java
index 14f4bc1..21dd318 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorRequestProcessor.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorRequestProcessor.java
@@ -114,7 +114,7 @@ public class GrantorRequestProcessor extends ReplyProcessor21 {
}
}
- private final static boolean basicStartElderCall(InternalDistributedSystem sys, ElderState es,
+ private static boolean basicStartElderCall(InternalDistributedSystem sys, ElderState es,
InternalDistributedMember elder, DLockService dls) {
GrantorRequestContext grc = sys.getGrantorRequestContext();
grc.elderLock.lock();
@@ -217,7 +217,7 @@ public class GrantorRequestProcessor extends ReplyProcessor21 {
* Sets currentElder to the memberId of the current elder if elder is remote; null if elder is in
* our vm. TODO: collaboration lock was removed
*/
- private final static ElderState startElderCall(InternalDistributedSystem sys, DLockService dls,
+ private static ElderState startElderCall(InternalDistributedSystem sys, DLockService dls,
boolean usesElderCollaborationLock) {
InternalDistributedMember elder;
ElderState es = null;
@@ -248,7 +248,7 @@ public class GrantorRequestProcessor extends ReplyProcessor21 {
return es;
}
- private final static void finishElderCall(GrantorRequestContext grc, ElderState es) {
+ private static void finishElderCall(GrantorRequestContext grc, ElderState es) {
if (es == null) {
grc.elderLock.lock();
try {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java
index 41c85d6..b993b53 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java
@@ -1166,12 +1166,12 @@ public class InternalDistributedMember implements DistributedMember, Externaliza
* index)); } else { sb.append(hostname); } }
*/
- public final void setVersionObjectForTest(Version v) {
+ public void setVersionObjectForTest(Version v) {
this.versionObj = v;
netMbr.setVersion(v);
}
- public final Version getVersionObject() {
+ public Version getVersionObject() {
return this.versionObj;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGAddress.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGAddress.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGAddress.java
index 94c5f38..d2a6d1e 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGAddress.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGAddress.java
@@ -77,19 +77,19 @@ public class JGAddress extends UUID {
}
- public final InetAddress getInetAddress() {
+ public InetAddress getInetAddress() {
return ip_addr;
}
- public final int getPort() {
+ public int getPort() {
return port;
}
- public final int getVmViewId() {
+ public int getVmViewId() {
return this.vmViewId;
}
- protected final void setVmViewId(int id) {
+ protected void setVmViewId(int id) {
this.vmViewId = id;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/LocalViewMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/LocalViewMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/LocalViewMessage.java
index cf00187..be4047f 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/LocalViewMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/LocalViewMessage.java
@@ -47,7 +47,7 @@ public class LocalViewMessage extends SerialDistributionMessage {
}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.VIEW_EXECUTOR;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/ByteArrayDataInput.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/ByteArrayDataInput.java b/geode-core/src/main/java/org/apache/geode/internal/ByteArrayDataInput.java
index 768475b..2e81af6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/ByteArrayDataInput.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/ByteArrayDataInput.java
@@ -51,7 +51,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* (a copy is not made) so it should not be changed externally.
* @param version the product version that serialized the object on given bytes
*/
- public final void initialize(byte[] bytes, Version version) {
+ public void initialize(byte[] bytes, Version version) {
this.bytes = bytes;
this.nBytes = bytes.length;
this.pos = 0;
@@ -62,11 +62,11 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final Version getVersion() {
+ public Version getVersion() {
return this.version;
}
- private final int skipOver(long n) {
+ private int skipOver(long n) {
final int capacity = (this.nBytes - this.pos);
if (n <= capacity) {
this.pos += (int) n;
@@ -81,7 +81,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final int read() throws IOException {
+ public int read() throws IOException {
if (this.pos < this.nBytes) {
return (this.bytes[this.pos++] & 0xff);
} else {
@@ -93,7 +93,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final int read(byte[] b, int off, int len) {
+ public int read(byte[] b, int off, int len) {
if (b == null) {
throw new NullPointerException();
} else if (off < 0 || len < 0 || b.length < (off + len)) {
@@ -117,7 +117,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final long skip(long n) {
+ public long skip(long n) {
return skipOver(n);
}
@@ -125,21 +125,21 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final int available() {
+ public int available() {
return (this.nBytes - this.pos);
}
/**
* Get the current position in the byte[].
*/
- public final int position() {
+ public int position() {
return this.pos;
}
/**
* Set the current position in the byte[].
*/
- public final void setPosition(int pos) {
+ public void setPosition(int pos) {
this.pos = pos;
}
@@ -147,7 +147,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final void readFully(byte[] b) throws IOException {
+ public void readFully(byte[] b) throws IOException {
final int len = b.length;
System.arraycopy(this.bytes, this.pos, b, 0, len);
this.pos += len;
@@ -157,7 +157,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final void readFully(byte[] b, int off, int len) throws IOException {
+ public void readFully(byte[] b, int off, int len) throws IOException {
if (len > 0) {
if ((this.nBytes - this.pos) >= len) {
System.arraycopy(this.bytes, this.pos, b, off, len);
@@ -174,7 +174,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final int skipBytes(int n) {
+ public int skipBytes(int n) {
return skipOver(n);
}
@@ -182,7 +182,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final boolean readBoolean() throws IOException {
+ public boolean readBoolean() throws IOException {
if (this.pos < this.nBytes) {
return (this.bytes[this.pos++] != 0);
} else {
@@ -194,7 +194,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final byte readByte() throws IOException {
+ public byte readByte() throws IOException {
if (this.pos < this.nBytes) {
return this.bytes[this.pos++];
} else {
@@ -206,7 +206,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final int readUnsignedByte() throws IOException {
+ public int readUnsignedByte() throws IOException {
return read();
}
@@ -214,7 +214,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final short readShort() throws IOException {
+ public short readShort() throws IOException {
if ((this.pos + 1) < this.nBytes) {
int result = (this.bytes[this.pos++] & 0xff);
return (short) ((result << 8) | (this.bytes[this.pos++] & 0xff));
@@ -227,7 +227,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final int readUnsignedShort() throws IOException {
+ public int readUnsignedShort() throws IOException {
if ((this.pos + 1) < this.nBytes) {
int result = (this.bytes[this.pos++] & 0xff);
return ((result << 8) | (this.bytes[this.pos++] & 0xff));
@@ -268,7 +268,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final long readLong() throws IOException {
+ public long readLong() throws IOException {
if ((this.pos + 7) < this.nBytes) {
long result = (this.bytes[this.pos++] & 0xff);
result = (result << 8) | (this.bytes[this.pos++] & 0xff);
@@ -287,7 +287,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final float readFloat() throws IOException {
+ public float readFloat() throws IOException {
return Float.intBitsToFloat(readInt());
}
@@ -295,7 +295,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final double readDouble() throws IOException {
+ public double readDouble() throws IOException {
return Double.longBitsToDouble(readLong());
}
@@ -303,7 +303,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* {@inheritDoc}
*/
@Override
- public final String readUTF() throws IOException {
+ public String readUTF() throws IOException {
final int utfLen = readUnsignedShort();
if ((this.pos + utfLen) <= this.nBytes) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/ByteBufferOutputStream.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/ByteBufferOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/ByteBufferOutputStream.java
index 2363990..10685ed 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/ByteBufferOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/ByteBufferOutputStream.java
@@ -37,7 +37,7 @@ public class ByteBufferOutputStream extends OutputStream {
/** write the low-order 8 bits of the given int */
@Override
- public final void write(int b) {
+ public void write(int b) {
try {
this.buffer.put((byte) (b & 0xff));
} catch (BufferOverflowException e) {
@@ -77,11 +77,11 @@ public class ByteBufferOutputStream extends OutputStream {
}
}
- public final int size() {
+ public int size() {
return buffer.position();
}
- public final void reset() {
+ public void reset() {
buffer.clear();
}
@@ -89,7 +89,7 @@ public class ByteBufferOutputStream extends OutputStream {
* gets the content ByteBuffer, ready for reading. The stream should not be written to past this
* point until it has been reset.
*/
- public final ByteBuffer getContentBuffer() {
+ public ByteBuffer getContentBuffer() {
buffer.flip();
return buffer;
}
@@ -97,7 +97,7 @@ public class ByteBufferOutputStream extends OutputStream {
/**
* Gets a duplicate of the current content buffer.
*/
- public final ByteBuffer getDuplicateBuffer() {
+ public ByteBuffer getDuplicateBuffer() {
return buffer.duplicate();
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/ExternalizableDSFID.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/ExternalizableDSFID.java b/geode-core/src/main/java/org/apache/geode/internal/ExternalizableDSFID.java
index be3b18c..4e77f38 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/ExternalizableDSFID.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/ExternalizableDSFID.java
@@ -31,11 +31,11 @@ public abstract class ExternalizableDSFID implements DataSerializableFixedID, Ex
public abstract void fromData(DataInput in) throws IOException, ClassNotFoundException;
- public final void writeExternal(ObjectOutput out) throws IOException {
+ public void writeExternal(ObjectOutput out) throws IOException {
toData(out);
}
- public final void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
fromData(in);
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/GfeConsoleReaderFactory.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/GfeConsoleReaderFactory.java b/geode-core/src/main/java/org/apache/geode/internal/GfeConsoleReaderFactory.java
index f71a7c1..120d625 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/GfeConsoleReaderFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/GfeConsoleReaderFactory.java
@@ -32,11 +32,11 @@ import org.apache.geode.management.internal.cli.util.GfshConsoleReader;
public class GfeConsoleReaderFactory {
private static GfeConsoleReader defaultConsoleReader = createConsoleReader();
- public static final GfeConsoleReader getDefaultConsoleReader() {
+ public static GfeConsoleReader getDefaultConsoleReader() {
return defaultConsoleReader;
}
- public static final GfeConsoleReader createConsoleReader() {
+ public static GfeConsoleReader createConsoleReader() {
GfeConsoleReader consoleReader = null;
if (CliUtil.isGfshVM()) {
[08/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java
index ed76611..32585b0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java
@@ -15,83 +15,121 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapIntKey
- extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapIntKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapIntKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -99,13 +137,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -119,60 +162,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -183,22 +226,23 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -208,155 +252,146 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -368,15 +403,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -384,17 +420,17 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -406,11 +442,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -419,6 +455,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -428,9 +465,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -445,21 +482,29 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -467,5 +512,8 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java
index ae46556..324ce68 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java
@@ -15,83 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapLongKey
- extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapLongKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapLongKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -99,13 +139,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -119,60 +164,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -183,22 +228,23 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -208,155 +254,146 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -368,15 +405,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -384,17 +422,17 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -406,11 +444,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -419,6 +457,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -428,9 +467,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -445,21 +484,22 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -467,5 +507,8 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java
index 4be97cb..c68cd02 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java
@@ -15,83 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
- extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapObjectKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -99,13 +135,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -119,60 +160,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -183,22 +224,23 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -208,155 +250,146 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -368,15 +401,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -384,17 +418,17 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -406,11 +440,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -419,6 +453,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -428,9 +463,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -445,19 +480,24 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java
index b4e861d..6a312de 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java
@@ -15,100 +15,134 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
- extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey1.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -116,13 +150,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -136,60 +175,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -200,22 +239,23 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -225,155 +265,146 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -385,15 +416,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -401,17 +433,17 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -423,11 +455,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -436,6 +468,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -445,9 +478,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -462,38 +495,38 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -502,15 +535,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -518,7 +552,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -531,5 +565,8 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[31/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java
index 2d4a4bb..24f7bb8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java
@@ -15,18 +15,37 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
@@ -35,34 +54,48 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapStringKey2(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, value);
+ public VMStatsLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -75,23 +108,24 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -100,136 +134,124 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -237,97 +259,92 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -337,10 +354,10 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -351,16 +368,17 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -374,7 +392,7 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -393,5 +411,7 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java
index 9a15385..83a2bfc 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java
@@ -15,55 +15,90 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key, Object value) {
- super(context, value);
+ public VMStatsLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -72,136 +107,124 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -209,80 +232,76 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -292,5 +311,8 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java
index c6a7919..3d51a7a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java
@@ -15,74 +15,121 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, value);
+ public VMStatsLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -90,13 +137,18 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -110,154 +162,144 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -265,79 +307,82 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -345,5 +390,8 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java
index 8e06b0f..31a2165 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java
@@ -15,74 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, value);
+ public VMStatsLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -90,13 +139,18 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -110,154 +164,144 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -265,79 +309,75 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -345,5 +385,8 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java
index d844110..755daf7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java
@@ -15,75 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, value);
+ public VMStatsLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -91,13 +135,18 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -111,154 +160,144 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -266,78 +305,77 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[74/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java
index 72caefb..19ad7fe 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java
@@ -20,33 +20,19 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +59,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMStatsDiskLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -81,60 +67,59 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -150,6 +135,7 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -167,7 +153,7 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -175,36 +161,41 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -214,13 +205,13 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -231,10 +222,11 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -242,12 +234,12 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -257,58 +249,60 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -320,36 +314,44 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -359,33 +361,38 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -394,7 +401,7 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -405,51 +412,61 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -457,24 +474,26 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -484,7 +503,7 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java
index 1a50824..8cda823 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java
@@ -18,22 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -57,7 +49,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VMStatsDiskRegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -65,40 +57,41 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -107,24 +100,29 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -134,12 +132,13 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -147,12 +146,12 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -162,60 +161,60 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -226,51 +225,59 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -278,30 +285,27 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -309,7 +313,7 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java
index a14da39..88b6e29 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java
@@ -18,22 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -57,7 +49,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VMStatsDiskRegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -65,42 +57,41 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -109,24 +100,29 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -136,12 +132,13 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -149,12 +146,12 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -164,60 +161,60 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -228,51 +225,59 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -280,23 +285,25 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -304,7 +311,7 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java
index 4f8f71c..1d6a464 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java
@@ -18,22 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -57,7 +49,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VMStatsDiskRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -65,14 +57,14 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -83,20 +75,22 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -105,24 +99,29 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -132,12 +131,13 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -145,12 +145,12 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -160,60 +160,60 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -224,51 +224,59 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -276,19 +284,20 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java
index 02eca82..52ab683 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java
@@ -18,22 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -57,7 +49,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VMStatsDiskRegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -65,14 +57,14 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -80,14 +72,15 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -98,20 +91,22 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -120,24 +115,29 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -147,12 +147,13 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -160,12 +161,12 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -175,60 +176,60 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -239,51 +240,59 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -291,39 +300,42 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -332,16 +344,16 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -349,7 +361,7 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -362,7 +374,7 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java
index 23d0cc6..2dc2ae6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java
@@ -18,22 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -57,7 +49,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VMStatsDiskRegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -65,14 +57,14 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -81,19 +73,20 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -110,20 +103,22 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -132,24 +127,29 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -159,12 +159,13 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -172,12 +173,12 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -187,60 +188,60 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -251,51 +252,59 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -303,16 +312,16 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -321,14 +330,17 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -336,7 +348,7 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -346,10 +358,10 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -360,17 +372,17 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -384,7 +396,7 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
[37/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
GEODE-2929: Remove superfluous final from internal methods
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/30f455bb
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/30f455bb
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/30f455bb
Branch: refs/heads/feature/GEODE-2929
Commit: 30f455bba372caf2d602a88c6f1eef85b3c94538
Parents: a63457b
Author: Kirk Lund <kl...@apache.org>
Authored: Mon May 15 16:54:47 2017 -0700
Committer: Kirk Lund <kl...@apache.org>
Committed: Mon May 15 16:54:47 2017 -0700
----------------------------------------------------------------------
.../cache/AbstractOplogDiskRegionEntry.java | 16 +-
.../geode/internal/cache/LeafRegionEntry.cpp | 79 ++--
.../internal/cache/NonLocalRegionEntry.java | 4 +-
.../VMStatsDiskLRURegionEntryHeapIntKey.java | 317 +++++++-------
.../VMStatsDiskLRURegionEntryHeapLongKey.java | 312 +++++++-------
.../VMStatsDiskLRURegionEntryHeapObjectKey.java | 311 +++++++-------
...VMStatsDiskLRURegionEntryHeapStringKey1.java | 336 ++++++++-------
...VMStatsDiskLRURegionEntryHeapStringKey2.java | 337 ++++++++-------
.../VMStatsDiskLRURegionEntryHeapUUIDKey.java | 313 +++++++-------
.../VMStatsDiskLRURegionEntryOffHeapIntKey.java | 369 +++++++++--------
...VMStatsDiskLRURegionEntryOffHeapLongKey.java | 364 ++++++++--------
...StatsDiskLRURegionEntryOffHeapObjectKey.java | 360 ++++++++--------
...tatsDiskLRURegionEntryOffHeapStringKey1.java | 385 +++++++++--------
...tatsDiskLRURegionEntryOffHeapStringKey2.java | 386 +++++++++--------
...VMStatsDiskLRURegionEntryOffHeapUUIDKey.java | 365 ++++++++--------
.../cache/VMStatsDiskRegionEntryHeapIntKey.java | 227 ++++++----
.../VMStatsDiskRegionEntryHeapLongKey.java | 222 ++++++----
.../VMStatsDiskRegionEntryHeapObjectKey.java | 217 ++++++----
.../VMStatsDiskRegionEntryHeapStringKey1.java | 243 ++++++-----
.../VMStatsDiskRegionEntryHeapStringKey2.java | 244 ++++++-----
.../VMStatsDiskRegionEntryHeapUUIDKey.java | 223 ++++++----
.../VMStatsDiskRegionEntryOffHeapIntKey.java | 273 +++++++-----
.../VMStatsDiskRegionEntryOffHeapLongKey.java | 268 +++++++-----
.../VMStatsDiskRegionEntryOffHeapObjectKey.java | 266 +++++++-----
...VMStatsDiskRegionEntryOffHeapStringKey1.java | 291 +++++++------
...VMStatsDiskRegionEntryOffHeapStringKey2.java | 292 +++++++------
.../VMStatsDiskRegionEntryOffHeapUUIDKey.java | 269 +++++++-----
.../cache/VMStatsLRURegionEntryHeapIntKey.java | 217 ++++++----
.../cache/VMStatsLRURegionEntryHeapLongKey.java | 212 ++++++----
.../VMStatsLRURegionEntryHeapObjectKey.java | 207 +++++----
.../VMStatsLRURegionEntryHeapStringKey1.java | 231 ++++++-----
.../VMStatsLRURegionEntryHeapStringKey2.java | 232 ++++++-----
.../cache/VMStatsLRURegionEntryHeapUUIDKey.java | 204 +++++----
.../VMStatsLRURegionEntryOffHeapIntKey.java | 266 +++++++-----
.../VMStatsLRURegionEntryOffHeapLongKey.java | 261 +++++++-----
.../VMStatsLRURegionEntryOffHeapObjectKey.java | 258 +++++++-----
.../VMStatsLRURegionEntryOffHeapStringKey1.java | 282 +++++++------
.../VMStatsLRURegionEntryOffHeapStringKey2.java | 283 +++++++------
.../VMStatsLRURegionEntryOffHeapUUIDKey.java | 253 ++++++-----
.../cache/VMStatsRegionEntryHeapIntKey.java | 125 ++++--
.../cache/VMStatsRegionEntryHeapLongKey.java | 120 ++++--
.../cache/VMStatsRegionEntryHeapObjectKey.java | 115 +++--
.../cache/VMStatsRegionEntryHeapStringKey1.java | 139 ++++---
.../cache/VMStatsRegionEntryHeapStringKey2.java | 140 ++++---
.../cache/VMStatsRegionEntryHeapUUIDKey.java | 112 +++--
.../cache/VMStatsRegionEntryOffHeapIntKey.java | 167 +++++---
.../cache/VMStatsRegionEntryOffHeapLongKey.java | 162 +++++---
.../VMStatsRegionEntryOffHeapObjectKey.java | 157 ++++---
.../VMStatsRegionEntryOffHeapStringKey1.java | 180 ++++----
.../VMStatsRegionEntryOffHeapStringKey2.java | 181 ++++----
.../cache/VMStatsRegionEntryOffHeapUUIDKey.java | 154 ++++---
.../VMThinDiskLRURegionEntryHeapIntKey.java | 274 ++++++------
.../VMThinDiskLRURegionEntryHeapLongKey.java | 269 ++++++------
.../VMThinDiskLRURegionEntryHeapObjectKey.java | 262 ++++++------
.../VMThinDiskLRURegionEntryHeapStringKey1.java | 291 +++++++------
.../VMThinDiskLRURegionEntryHeapStringKey2.java | 292 +++++++------
.../VMThinDiskLRURegionEntryHeapUUIDKey.java | 270 ++++++------
.../VMThinDiskLRURegionEntryOffHeapIntKey.java | 324 +++++++++------
.../VMThinDiskLRURegionEntryOffHeapLongKey.java | 319 ++++++++------
...MThinDiskLRURegionEntryOffHeapObjectKey.java | 315 ++++++++------
...ThinDiskLRURegionEntryOffHeapStringKey1.java | 340 ++++++++-------
...ThinDiskLRURegionEntryOffHeapStringKey2.java | 341 ++++++++-------
.../VMThinDiskLRURegionEntryOffHeapUUIDKey.java | 320 ++++++++------
.../cache/VMThinDiskRegionEntryHeapIntKey.java | 186 ++++++---
.../cache/VMThinDiskRegionEntryHeapLongKey.java | 181 +++++---
.../VMThinDiskRegionEntryHeapObjectKey.java | 174 +++++---
.../VMThinDiskRegionEntryHeapStringKey1.java | 198 +++++----
.../VMThinDiskRegionEntryHeapStringKey2.java | 199 +++++----
.../cache/VMThinDiskRegionEntryHeapUUIDKey.java | 182 +++++---
.../VMThinDiskRegionEntryOffHeapIntKey.java | 228 ++++++----
.../VMThinDiskRegionEntryOffHeapLongKey.java | 223 ++++++----
.../VMThinDiskRegionEntryOffHeapObjectKey.java | 219 ++++++----
.../VMThinDiskRegionEntryOffHeapStringKey1.java | 240 ++++++-----
.../VMThinDiskRegionEntryOffHeapStringKey2.java | 241 ++++++-----
.../VMThinDiskRegionEntryOffHeapUUIDKey.java | 220 ++++++----
.../cache/VMThinLRURegionEntryHeapIntKey.java | 174 +++++---
.../cache/VMThinLRURegionEntryHeapLongKey.java | 169 +++++---
.../VMThinLRURegionEntryHeapObjectKey.java | 164 +++++---
.../VMThinLRURegionEntryHeapStringKey1.java | 188 +++++----
.../VMThinLRURegionEntryHeapStringKey2.java | 189 +++++----
.../cache/VMThinLRURegionEntryHeapUUIDKey.java | 161 ++++---
.../VMThinLRURegionEntryOffHeapIntKey.java | 223 ++++++----
.../VMThinLRURegionEntryOffHeapLongKey.java | 218 ++++++----
.../VMThinLRURegionEntryOffHeapObjectKey.java | 213 ++++++----
.../VMThinLRURegionEntryOffHeapStringKey1.java | 237 ++++++-----
.../VMThinLRURegionEntryOffHeapStringKey2.java | 238 ++++++-----
.../VMThinLRURegionEntryOffHeapUUIDKey.java | 210 ++++++----
.../cache/VMThinRegionEntryHeapIntKey.java | 81 +++-
.../cache/VMThinRegionEntryHeapLongKey.java | 76 +++-
.../cache/VMThinRegionEntryHeapObjectKey.java | 71 +++-
.../cache/VMThinRegionEntryHeapStringKey1.java | 95 +++--
.../cache/VMThinRegionEntryHeapStringKey2.java | 96 +++--
.../cache/VMThinRegionEntryHeapUUIDKey.java | 68 ++-
.../cache/VMThinRegionEntryOffHeapIntKey.java | 123 ++++--
.../cache/VMThinRegionEntryOffHeapLongKey.java | 118 ++++--
.../VMThinRegionEntryOffHeapObjectKey.java | 113 +++--
.../VMThinRegionEntryOffHeapStringKey1.java | 136 +++---
.../VMThinRegionEntryOffHeapStringKey2.java | 137 +++---
.../cache/VMThinRegionEntryOffHeapUUIDKey.java | 110 +++--
...sionedStatsDiskLRURegionEntryHeapIntKey.java | 362 ++++++++--------
...ionedStatsDiskLRURegionEntryHeapLongKey.java | 357 ++++++++--------
...nedStatsDiskLRURegionEntryHeapObjectKey.java | 352 +++++++++-------
...edStatsDiskLRURegionEntryHeapStringKey1.java | 377 +++++++++--------
...edStatsDiskLRURegionEntryHeapStringKey2.java | 378 +++++++++--------
...ionedStatsDiskLRURegionEntryHeapUUIDKey.java | 358 ++++++++--------
...nedStatsDiskLRURegionEntryOffHeapIntKey.java | 399 ++++++++++--------
...edStatsDiskLRURegionEntryOffHeapLongKey.java | 394 ++++++++++--------
...StatsDiskLRURegionEntryOffHeapObjectKey.java | 389 +++++++++--------
...tatsDiskLRURegionEntryOffHeapStringKey1.java | 414 +++++++++---------
...tatsDiskLRURegionEntryOffHeapStringKey2.java | 415 ++++++++++---------
...edStatsDiskLRURegionEntryOffHeapUUIDKey.java | 395 ++++++++++--------
...VersionedStatsDiskRegionEntryHeapIntKey.java | 277 ++++++++-----
...ersionedStatsDiskRegionEntryHeapLongKey.java | 272 +++++++-----
...sionedStatsDiskRegionEntryHeapObjectKey.java | 267 +++++++-----
...ionedStatsDiskRegionEntryHeapStringKey1.java | 292 +++++++------
...ionedStatsDiskRegionEntryHeapStringKey2.java | 293 +++++++------
...ersionedStatsDiskRegionEntryHeapUUIDKey.java | 273 +++++++-----
...sionedStatsDiskRegionEntryOffHeapIntKey.java | 317 ++++++++------
...ionedStatsDiskRegionEntryOffHeapLongKey.java | 312 ++++++++------
...nedStatsDiskRegionEntryOffHeapObjectKey.java | 307 ++++++++------
...edStatsDiskRegionEntryOffHeapStringKey1.java | 332 ++++++++-------
...edStatsDiskRegionEntryOffHeapStringKey2.java | 333 ++++++++-------
...ionedStatsDiskRegionEntryOffHeapUUIDKey.java | 313 ++++++++------
.../VersionedStatsLRURegionEntryHeapIntKey.java | 258 +++++++-----
...VersionedStatsLRURegionEntryHeapLongKey.java | 254 +++++++-----
...rsionedStatsLRURegionEntryHeapObjectKey.java | 249 ++++++-----
...sionedStatsLRURegionEntryHeapStringKey1.java | 272 ++++++------
...sionedStatsLRURegionEntryHeapStringKey2.java | 273 ++++++------
...VersionedStatsLRURegionEntryHeapUUIDKey.java | 246 ++++++-----
...rsionedStatsLRURegionEntryOffHeapIntKey.java | 296 +++++++------
...sionedStatsLRURegionEntryOffHeapLongKey.java | 294 +++++++------
...onedStatsLRURegionEntryOffHeapObjectKey.java | 289 +++++++------
...nedStatsLRURegionEntryOffHeapStringKey1.java | 312 +++++++-------
...nedStatsLRURegionEntryOffHeapStringKey2.java | 313 +++++++-------
...sionedStatsLRURegionEntryOffHeapUUIDKey.java | 286 +++++++------
.../VersionedStatsRegionEntryHeapIntKey.java | 176 +++++---
.../VersionedStatsRegionEntryHeapLongKey.java | 171 +++++---
.../VersionedStatsRegionEntryHeapObjectKey.java | 170 +++++---
...VersionedStatsRegionEntryHeapStringKey1.java | 193 +++++----
...VersionedStatsRegionEntryHeapStringKey2.java | 194 +++++----
.../VersionedStatsRegionEntryHeapUUIDKey.java | 163 +++++---
.../VersionedStatsRegionEntryOffHeapIntKey.java | 216 ++++++----
...VersionedStatsRegionEntryOffHeapLongKey.java | 211 ++++++----
...rsionedStatsRegionEntryOffHeapObjectKey.java | 207 +++++----
...sionedStatsRegionEntryOffHeapStringKey1.java | 230 +++++-----
...sionedStatsRegionEntryOffHeapStringKey2.java | 231 ++++++-----
...VersionedStatsRegionEntryOffHeapUUIDKey.java | 203 +++++----
...rsionedThinDiskLRURegionEntryHeapIntKey.java | 314 ++++++++------
...sionedThinDiskLRURegionEntryHeapLongKey.java | 312 ++++++++------
...onedThinDiskLRURegionEntryHeapObjectKey.java | 307 ++++++++------
...nedThinDiskLRURegionEntryHeapStringKey1.java | 332 ++++++++-------
...nedThinDiskLRURegionEntryHeapStringKey2.java | 333 ++++++++-------
...sionedThinDiskLRURegionEntryHeapUUIDKey.java | 313 ++++++++------
...onedThinDiskLRURegionEntryOffHeapIntKey.java | 354 +++++++++-------
...nedThinDiskLRURegionEntryOffHeapLongKey.java | 349 +++++++++-------
...dThinDiskLRURegionEntryOffHeapObjectKey.java | 344 ++++++++-------
...ThinDiskLRURegionEntryOffHeapStringKey1.java | 369 +++++++++--------
...ThinDiskLRURegionEntryOffHeapStringKey2.java | 370 +++++++++--------
...nedThinDiskLRURegionEntryOffHeapUUIDKey.java | 350 +++++++++-------
.../VersionedThinDiskRegionEntryHeapIntKey.java | 220 ++++++----
...VersionedThinDiskRegionEntryHeapLongKey.java | 216 ++++++----
...rsionedThinDiskRegionEntryHeapObjectKey.java | 211 ++++++----
...sionedThinDiskRegionEntryHeapStringKey1.java | 240 ++++++-----
...sionedThinDiskRegionEntryHeapStringKey2.java | 241 ++++++-----
...VersionedThinDiskRegionEntryHeapUUIDKey.java | 217 ++++++----
...rsionedThinDiskRegionEntryOffHeapIntKey.java | 262 +++++++-----
...sionedThinDiskRegionEntryOffHeapLongKey.java | 260 +++++++-----
...onedThinDiskRegionEntryOffHeapObjectKey.java | 255 +++++++-----
...nedThinDiskRegionEntryOffHeapStringKey1.java | 280 +++++++------
...nedThinDiskRegionEntryOffHeapStringKey2.java | 281 +++++++------
...sionedThinDiskRegionEntryOffHeapUUIDKey.java | 261 +++++++-----
.../VersionedThinLRURegionEntryHeapIntKey.java | 213 ++++++----
.../VersionedThinLRURegionEntryHeapLongKey.java | 209 ++++++----
...ersionedThinLRURegionEntryHeapObjectKey.java | 204 +++++----
...rsionedThinLRURegionEntryHeapStringKey1.java | 227 +++++-----
...rsionedThinLRURegionEntryHeapStringKey2.java | 228 +++++-----
.../VersionedThinLRURegionEntryHeapUUIDKey.java | 201 +++++----
...ersionedThinLRURegionEntryOffHeapIntKey.java | 251 ++++++-----
...rsionedThinLRURegionEntryOffHeapLongKey.java | 246 ++++++-----
...ionedThinLRURegionEntryOffHeapObjectKey.java | 244 ++++++-----
...onedThinLRURegionEntryOffHeapStringKey1.java | 267 +++++++-----
...onedThinLRURegionEntryOffHeapStringKey2.java | 268 ++++++------
...rsionedThinLRURegionEntryOffHeapUUIDKey.java | 238 ++++++-----
.../VersionedThinRegionEntryHeapIntKey.java | 120 ++++--
.../VersionedThinRegionEntryHeapLongKey.java | 115 +++--
.../VersionedThinRegionEntryHeapObjectKey.java | 112 +++--
.../VersionedThinRegionEntryHeapStringKey1.java | 135 +++---
.../VersionedThinRegionEntryHeapStringKey2.java | 136 +++---
.../VersionedThinRegionEntryHeapUUIDKey.java | 107 +++--
.../VersionedThinRegionEntryOffHeapIntKey.java | 158 ++++---
.../VersionedThinRegionEntryOffHeapLongKey.java | 153 ++++---
...ersionedThinRegionEntryOffHeapObjectKey.java | 149 ++++---
...rsionedThinRegionEntryOffHeapStringKey1.java | 172 +++++---
...rsionedThinRegionEntryOffHeapStringKey2.java | 173 +++++---
.../VersionedThinRegionEntryOffHeapUUIDKey.java | 145 ++++---
195 files changed, 27295 insertions(+), 19715 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractOplogDiskRegionEntry.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractOplogDiskRegionEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractOplogDiskRegionEntry.java
index bdaf200..866ff03 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractOplogDiskRegionEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractOplogDiskRegionEntry.java
@@ -54,29 +54,29 @@ public abstract class AbstractOplogDiskRegionEntry extends AbstractDiskRegionEnt
}
@Override
- public final boolean fillInValue(LocalRegion r, InitialImageOperation.Entry entry,
+ public boolean fillInValue(LocalRegion r, InitialImageOperation.Entry entry,
ByteArrayDataInput in, DM mgr) {
return Helper.fillInValue(this, entry, r.getDiskRegion(), mgr, in, r);
}
@Override
- public final boolean isOverflowedToDisk(LocalRegion r, DistributedRegion.DiskPosition dp) {
+ public boolean isOverflowedToDisk(LocalRegion r, DistributedRegion.DiskPosition dp) {
return Helper.isOverflowedToDisk(this, r.getDiskRegion(), dp, r);
}
@Override
- public final Object getValue(RegionEntryContext context) {
+ public Object getValue(RegionEntryContext context) {
return Helper.faultInValue(this, (LocalRegion) context); // OFFHEAP returned to callers
}
@Override
@Retained
- public final Object getValueRetain(RegionEntryContext context) {
+ public Object getValueRetain(RegionEntryContext context) {
return Helper.faultInValueRetain(this, (LocalRegion) context);
}
@Override
- public final Object getValueInVMOrDiskWithoutFaultIn(LocalRegion owner) {
+ public Object getValueInVMOrDiskWithoutFaultIn(LocalRegion owner) {
return Helper.getValueInVMOrDiskWithoutFaultIn(this, owner);
}
@@ -87,17 +87,17 @@ public abstract class AbstractOplogDiskRegionEntry extends AbstractDiskRegionEnt
}
@Override
- public final Object getValueOnDisk(LocalRegion r) throws EntryNotFoundException {
+ public Object getValueOnDisk(LocalRegion r) throws EntryNotFoundException {
return Helper.getValueOnDisk(this, r.getDiskRegion());
}
@Override
- public final Object getSerializedValueOnDisk(LocalRegion r) throws EntryNotFoundException {
+ public Object getSerializedValueOnDisk(LocalRegion r) throws EntryNotFoundException {
return Helper.getSerializedValueOnDisk(this, r.getDiskRegion());
}
@Override
- public final Object getValueOnDiskOrBuffer(LocalRegion r) throws EntryNotFoundException {
+ public Object getValueOnDiskOrBuffer(LocalRegion r) throws EntryNotFoundException {
// @todo darrel if value is Token.REMOVED || Token.DESTROYED throw
// EntryNotFoundException
return Helper.getValueOnDiskOrBuffer(this, r.getDiskRegion(), r);
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/LeafRegionEntry.cpp
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/LeafRegionEntry.cpp b/geode-core/src/main/java/org/apache/geode/internal/cache/LeafRegionEntry.cpp
index 596e031..cb3ce3b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/LeafRegionEntry.cpp
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/LeafRegionEntry.cpp
@@ -246,7 +246,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
#else
private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
@Override
@@ -263,7 +263,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
protected void setEntryHash(int v) {
@@ -272,13 +272,13 @@ public class LEAF_CLASS extends PARENT_CLASS {
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
#ifdef DISK
@@ -302,7 +302,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
}
}
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
@@ -398,43 +398,37 @@ public class LEAF_CLASS extends PARENT_CLASS {
// nothing needed for LRUs with no disk
#endif
}
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController,
+ public synchronized int updateEntrySize(EnableLRU capacityController,
Object value) {
int oldSize = getEntrySize();
int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -443,35 +437,27 @@ public class LEAF_CLASS extends PARENT_CLASS {
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public final void setNextLRUNode( LRUClockNode next ) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public final void setPrevLRUNode( LRUClockNode prev ) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-//@Override
-//public StringBuilder appendFieldsToString(final StringBuilder sb) {
-// StringBuilder result = super.appendFieldsToString(sb);
-// result.append("; prev=").append(this.prevLRU==null?"null":"not null");
-// result.append("; next=").append(this.nextLRU==null?"null":"not null");
-// return result;
-//}
-
@Override
public Object getKeyForSizing() {
#ifdef KEY_OBJECT
@@ -489,8 +475,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time)
- {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -499,7 +484,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
}
}
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
@@ -515,18 +500,18 @@ public class LEAF_CLASS extends PARENT_CLASS {
= AtomicIntegerFieldUpdater.newUpdater(LEAF_CLASS.class, "missCount");
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
private void incrementHitCount() {
@@ -536,7 +521,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
missCountUpdater.incrementAndGet(this);
}
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
+ public void resetCounts() throws InternalStatisticsDisabledException {
hitCountUpdater.set(this,0);
missCountUpdater.set(this,0);
}
@@ -544,7 +529,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
@@ -662,14 +647,14 @@ public class LEAF_CLASS extends PARENT_CLASS {
#ifdef KEY_OBJECT
private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
#elif defined(KEY_INT)
private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
@Override
@@ -683,7 +668,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
#elif defined(KEY_LONG)
private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
@Override
@@ -698,7 +683,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
private final long keyMostSigBits;
private final long keyLeastSigBits;
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
@Override
@@ -722,7 +707,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
return (int) (this.bits1 >> 6) & 0x03;
}
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
@@ -788,7 +773,7 @@ public class LEAF_CLASS extends PARENT_CLASS {
return (int) (this.bits1 >> 6) & 0x03;
}
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/NonLocalRegionEntry.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/NonLocalRegionEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/NonLocalRegionEntry.java
index bfcf6ff..805b900 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/NonLocalRegionEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/NonLocalRegionEntry.java
@@ -203,12 +203,12 @@ public class NonLocalRegionEntry implements RegionEntry, VersionStamp {
return this.key;
}
- public final Object getValue(RegionEntryContext context) {
+ public Object getValue(RegionEntryContext context) {
return this.value;
}
@Override
- public final Object getValueRetain(RegionEntryContext context) {
+ public Object getValueRetain(RegionEntryContext context) {
return this.value;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java
index e2043f2..f179ab6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java
@@ -15,55 +15,94 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -72,42 +111,40 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -118,22 +155,23 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -143,158 +181,147 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -302,79 +329,82 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -382,5 +412,8 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java
index d65ea70..67bf7d4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java
@@ -15,55 +15,96 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapLongKey(RegionEntryContext context, long key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -72,42 +113,40 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -118,22 +157,23 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -143,158 +183,147 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -302,79 +331,75 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -382,5 +407,8 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java
index cbfa0f8..d5ecb01 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java
@@ -15,57 +15,92 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -74,42 +109,40 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -120,22 +153,23 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -145,158 +179,147 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -304,79 +327,77 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[62/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java
index 6b7d9fc..154825a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java
@@ -18,40 +18,26 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +58,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+public class VersionedStatsDiskLRURegionEntryHeapStringKey2
+ extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -81,14 +68,14 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -97,19 +84,20 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -126,20 +114,23 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -148,24 +139,29 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -175,13 +171,13 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -192,10 +188,11 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -203,12 +200,12 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -218,58 +215,60 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -281,36 +280,44 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -320,33 +327,38 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -355,7 +367,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -366,51 +378,61 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -418,15 +440,16 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -438,16 +461,16 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -455,17 +478,18 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -477,11 +501,11 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -490,7 +514,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -500,9 +524,9 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -517,15 +541,15 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -534,14 +558,17 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -549,7 +576,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -559,10 +586,10 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -573,17 +600,17 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -597,7 +624,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedSta
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java
index d21e745..4e201b9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java
@@ -20,38 +20,26 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +60,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
+ extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -81,45 +70,43 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -128,24 +115,29 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -155,13 +147,13 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -172,10 +164,11 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -183,12 +176,12 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -198,58 +191,60 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -261,36 +256,44 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -300,33 +303,38 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -335,7 +343,7 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -346,51 +354,61 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -398,15 +416,16 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -418,16 +437,16 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -435,17 +454,18 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -457,11 +477,11 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -470,7 +490,7 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -480,9 +500,9 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -497,23 +517,25 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -523,7 +545,7 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsD
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java
index 05af992..a3df7e6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java
@@ -18,35 +18,26 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +63,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
+ extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -81,55 +73,59 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -145,6 +141,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -162,7 +159,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -170,36 +167,41 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -209,13 +211,13 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -226,10 +228,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -237,12 +240,12 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -252,58 +255,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -315,36 +320,44 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -354,33 +367,38 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -389,7 +407,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -400,51 +418,61 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -452,15 +480,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -472,16 +501,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -489,17 +518,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -511,11 +541,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -524,7 +554,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -534,9 +564,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -551,29 +581,26 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -581,7 +608,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStat
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java
index 3b4aeba..d15b7fe 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java
@@ -18,35 +18,26 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +63,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
+ extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -81,57 +73,59 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +141,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +159,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +167,41 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -211,13 +211,13 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -228,10 +228,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -239,12 +240,12 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -254,58 +255,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -317,36 +320,44 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -356,33 +367,38 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -391,7 +407,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -402,51 +418,61 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -454,15 +480,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -474,16 +501,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -491,17 +518,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -513,11 +541,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -526,7 +554,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -536,9 +564,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -553,22 +581,24 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -576,7 +606,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedSta
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[72/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java
index 5dcd9fe..e7e64a9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java
@@ -20,20 +20,14 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -62,7 +56,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMStatsDiskRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -70,60 +64,58 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -139,6 +131,7 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -156,7 +149,7 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -164,36 +157,41 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -203,12 +201,13 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -216,12 +215,12 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -231,60 +230,60 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -295,51 +294,59 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -347,24 +354,26 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -374,7 +383,7 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java
index 7451f04..a577c23 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java
@@ -18,25 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VMStatsLRURegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -69,40 +58,39 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -111,24 +99,29 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -136,51 +129,57 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -190,33 +189,38 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -225,7 +229,7 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -236,51 +240,59 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -288,30 +300,27 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -319,7 +328,7 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java
index 892ad4e..893d565 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java
@@ -18,25 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VMStatsLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -69,42 +58,39 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -113,24 +99,29 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -138,51 +129,57 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -192,33 +189,38 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -227,7 +229,7 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -238,51 +240,59 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -290,23 +300,25 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -314,7 +326,7 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java
index 98711d8..a0af97e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java
@@ -18,25 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VMStatsLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -69,38 +58,39 @@ public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHea
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -109,24 +99,29 @@ public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHea
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -134,51 +129,57 @@ public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHea
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -188,27 +189,33 @@ public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHea
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -217,13 +224,12 @@ public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHea
-
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -234,51 +240,59 @@ public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHea
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -286,19 +300,20 @@ public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHea
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java
index 112c6f1..902a0f2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java
@@ -18,25 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VMStatsLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -69,27 +58,28 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -100,20 +90,22 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -122,24 +114,29 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -147,51 +144,57 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -201,33 +204,38 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -236,7 +244,7 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -247,51 +255,59 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -299,39 +315,42 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -340,16 +359,16 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -357,7 +376,7 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -370,7 +389,7 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java
index 24f7bb8..a36ce1f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java
@@ -18,25 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VMStatsLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -69,33 +58,34 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -112,20 +102,22 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -134,24 +126,29 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -159,51 +156,57 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -213,33 +216,38 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -248,7 +256,7 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -259,51 +267,59 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey2.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -311,16 +327,16 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -329,14 +345,17 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -344,7 +363,7 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -354,10 +373,10 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -368,17 +387,17 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -392,7 +411,7 @@ public class VMStatsLRURegionEntryHeapStringKey2 extends VMStatsLRURegionEntryHe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java
index 83a2bfc..e22bb15 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java
@@ -20,23 +20,14 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMStatsLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -69,14 +60,14 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -85,20 +76,22 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -107,24 +100,29 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -132,51 +130,57 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -186,33 +190,38 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -221,7 +230,7 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -232,51 +241,59 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapUUIDKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -284,24 +301,26 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -311,7 +330,7 @@ public class VMStatsLRURegionEntryHeapUUIDKey extends VMStatsLRURegionEntryHeap
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[09/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java
index 5861f4a..a5080a6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java
@@ -15,62 +15,104 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryHeapObjectKey
- extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinDiskLRURegionEntryHeap {
+ public VersionedThinDiskLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapObjectKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -79,42 +121,40 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -125,22 +165,23 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -150,155 +191,146 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -310,15 +342,16 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -326,17 +359,17 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -348,11 +381,11 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -361,6 +394,7 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -370,9 +404,9 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -387,19 +421,24 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java
index ba12cc6..d782b81 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java
@@ -15,79 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryHeapStringKey1
- extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThinDiskLRURegionEntryHeap {
+ public VersionedThinDiskLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapStringKey1.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -96,42 +136,40 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -142,22 +180,23 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -167,155 +206,146 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -327,15 +357,16 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -343,17 +374,17 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -365,11 +396,11 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -378,6 +409,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -387,9 +419,9 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -404,38 +436,38 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -444,15 +476,16 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -460,7 +493,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -473,5 +506,8 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java
index 908e6dc..66bdf35 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java
@@ -15,24 +15,50 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
@@ -40,36 +66,50 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryHeapStringKey2
- extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThinDiskLRURegionEntryHeap {
+ public VersionedThinDiskLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -82,24 +122,24 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapStringKey2.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -108,42 +148,40 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -154,22 +192,23 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -179,155 +218,146 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -339,15 +369,16 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -355,17 +386,17 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -377,11 +408,11 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -390,6 +421,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -399,9 +431,9 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -416,39 +448,39 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -458,10 +490,10 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -472,16 +504,17 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -495,7 +528,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -514,5 +547,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java
index e335e54..37f8066 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java
@@ -15,64 +15,111 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryHeapUUIDKey
- extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDiskLRURegionEntryHeap {
+ public VersionedThinDiskLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapUUIDKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -81,42 +128,40 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -127,22 +172,23 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -152,155 +198,146 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -312,15 +349,16 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -328,17 +366,17 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -350,11 +388,11 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -363,6 +401,7 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -372,9 +411,9 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -389,22 +428,23 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -414,5 +454,8 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[32/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java
index 515c555..e4d12a8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java
@@ -15,58 +15,90 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -79,40 +111,39 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -120,13 +151,18 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -140,71 +176,72 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -214,60 +251,63 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -275,99 +315,92 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -377,10 +410,10 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -391,16 +424,17 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -414,7 +448,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -433,5 +467,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java
index 214990e..5dcd9fe 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java
@@ -15,76 +15,115 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -92,13 +131,18 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -112,71 +156,72 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -186,60 +231,63 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -247,80 +295,76 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -330,5 +374,8 @@ public class VMStatsDiskRegionEntryOffHeapUUIDKey extends VMStatsDiskRegionEntry
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java
index 4a3f0c9..7451f04 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java
@@ -15,53 +15,94 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, value);
+ public VMStatsLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -70,136 +111,124 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -207,79 +236,82 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -287,5 +319,8 @@ public class VMStatsLRURegionEntryHeapIntKey extends VMStatsLRURegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java
index 976e22e..892ad4e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java
@@ -15,53 +15,96 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapLongKey(RegionEntryContext context, long key, Object value) {
- super(context, value);
+ public VMStatsLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -70,136 +113,124 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -207,79 +238,75 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -287,5 +314,8 @@ public class VMStatsLRURegionEntryHeapLongKey extends VMStatsLRURegionEntryHeap
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java
index df6c10d..98711d8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java
@@ -15,53 +15,92 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key, Object value) {
- super(context, value);
+ public VMStatsLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -70,136 +109,124 @@ public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHea
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -207,77 +234,77 @@ public class VMStatsLRURegionEntryHeapObjectKey extends VMStatsLRURegionEntryHea
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java
index 0cd82d7..112c6f1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java
@@ -15,18 +15,37 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
@@ -34,52 +53,67 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHeap {
- public VMStatsLRURegionEntryHeapStringKey1(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, value);
+ public VMStatsLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -88,136 +122,124 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -225,96 +247,91 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -323,15 +340,16 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -339,7 +357,7 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -352,5 +370,8 @@ public class VMStatsLRURegionEntryHeapStringKey1 extends VMStatsLRURegionEntryHe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[23/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java
index c44fd79..9256d31 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java
@@ -15,73 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, value);
+ public VMThinLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -89,13 +135,18 @@ public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -109,157 +160,153 @@ public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOf
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java
index 4f5ab15..9398058 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java
@@ -15,91 +15,132 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VMThinLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -107,13 +148,18 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -127,176 +173,167 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -305,15 +342,16 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -321,7 +359,7 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -334,5 +372,8 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java
index 2687672..568577f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java
@@ -15,57 +15,99 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VMThinLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -78,40 +120,39 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -119,13 +160,18 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -139,177 +185,168 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -319,10 +356,10 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -333,16 +370,17 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -356,7 +394,7 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -375,5 +413,7 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java
index 2ec42e6..f505996 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java
@@ -15,75 +15,117 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, value);
+ public VMThinLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -91,13 +133,18 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -111,160 +158,152 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -274,5 +313,8 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java
index d633bc7..a325ff2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java
@@ -15,7 +15,16 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -26,37 +35,59 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapIntKey extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, value);
+ public VMThinRegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapIntKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -65,45 +96,54 @@ public class VMThinRegionEntryHeapIntKey extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -111,5 +151,8 @@ public class VMThinRegionEntryHeapIntKey extends VMThinRegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java
index 1032dbb..26cdce7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java
@@ -15,7 +15,16 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -27,36 +36,60 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapLongKey extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapLongKey(RegionEntryContext context, long key, Object value) {
- super(context, value);
+ public VMThinRegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapLongKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -65,45 +98,47 @@ public class VMThinRegionEntryHeapLongKey extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -111,5 +146,8 @@ public class VMThinRegionEntryHeapLongKey extends VMThinRegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java
index 616b368..8c50563 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java
@@ -15,7 +15,16 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -25,38 +34,58 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapObjectKey extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapObjectKey(RegionEntryContext context, Object key, Object value) {
- super(context, value);
+ public VMThinRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapObjectKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -65,43 +94,49 @@ public class VMThinRegionEntryHeapObjectKey extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java
index e2657d2..4223695 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java
@@ -15,7 +15,16 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -29,52 +38,67 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapStringKey1(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, value);
+ public VMThinRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapStringKey1.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -83,62 +107,63 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -147,15 +172,16 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -163,7 +189,7 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -176,5 +202,8 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java
index 4183ffb..a99ada8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java
@@ -15,7 +15,16 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -30,34 +39,48 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapStringKey2(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, value);
+ public VMThinRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -70,23 +93,24 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapStringKey2.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -95,63 +119,64 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -161,10 +186,10 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -175,16 +200,17 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -198,7 +224,7 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -217,5 +243,7 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java
index 5fe22a7..fe583e1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java
@@ -15,8 +15,16 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -29,36 +37,53 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapUUIDKey extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key, Object value) {
- super(context, value);
+ public VMThinRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapUUIDKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -67,46 +92,48 @@ public class VMThinRegionEntryHeapUUIDKey extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -116,5 +143,8 @@ public class VMThinRegionEntryHeapUUIDKey extends VMThinRegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[52/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java
index d782b81..f0b7c2f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java
@@ -18,40 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +56,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+public class VersionedThinDiskLRURegionEntryHeapStringKey1
+ extends VersionedThinDiskLRURegionEntryHeap {
+ public VersionedThinDiskLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -81,14 +66,14 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -96,14 +81,15 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -114,20 +100,23 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapStringKey1.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -136,24 +125,29 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -163,13 +157,13 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -180,10 +174,11 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -191,12 +186,12 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -206,58 +201,60 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -269,36 +266,44 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -308,33 +313,38 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -342,10 +352,8 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -357,16 +365,16 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -374,17 +382,18 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -396,11 +405,11 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -409,7 +418,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -419,9 +428,9 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -436,38 +445,41 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -476,16 +488,16 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -493,7 +505,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -506,7 +518,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey1 extends VersionedThin
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java
index 66bdf35..2c93e1b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java
@@ -18,40 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +56,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+public class VersionedThinDiskLRURegionEntryHeapStringKey2
+ extends VersionedThinDiskLRURegionEntryHeap {
+ public VersionedThinDiskLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -81,14 +66,14 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -97,19 +82,20 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -126,20 +112,23 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapStringKey2.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -148,24 +137,29 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -175,13 +169,13 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -192,10 +186,11 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -203,12 +198,12 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -218,58 +213,60 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -281,36 +278,44 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -320,33 +325,38 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -354,10 +364,8 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -369,16 +377,16 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -386,17 +394,18 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -408,11 +417,11 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -421,7 +430,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -431,9 +440,9 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -448,15 +457,15 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -465,14 +474,17 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -480,7 +492,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -490,10 +502,10 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -504,17 +516,17 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -528,7 +540,7 @@ public class VersionedThinDiskLRURegionEntryHeapStringKey2 extends VersionedThin
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java
index 37f8066..9bb28fa 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java
@@ -20,38 +20,24 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +58,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+public class VersionedThinDiskLRURegionEntryHeapUUIDKey
+ extends VersionedThinDiskLRURegionEntryHeap {
+ public VersionedThinDiskLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -81,45 +68,43 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapUUIDKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -128,24 +113,29 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -155,13 +145,13 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -172,10 +162,11 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -183,12 +174,12 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -198,58 +189,60 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -261,36 +254,44 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -300,33 +301,38 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -334,10 +340,8 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -349,16 +353,16 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -366,17 +370,18 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -388,11 +393,11 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -401,7 +406,7 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -411,9 +416,9 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -428,23 +433,25 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -454,7 +461,7 @@ public class VersionedThinDiskLRURegionEntryHeapUUIDKey extends VersionedThinDis
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java
index 32585b0..8d34730 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java
@@ -18,35 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +61,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+public class VersionedThinDiskLRURegionEntryOffHeapIntKey
+ extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -81,55 +71,59 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapIntKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapIntKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -145,6 +139,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -162,7 +157,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -170,36 +165,41 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -209,13 +209,13 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -226,10 +226,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -237,12 +238,12 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -252,58 +253,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -315,36 +318,44 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -354,33 +365,38 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -388,10 +404,8 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -403,16 +417,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -420,17 +434,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -442,11 +457,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -455,7 +470,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -465,9 +480,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -482,29 +497,26 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -512,7 +524,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapIntKey extends VersionedThinD
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[38/78] geode git commit: GEODE-2929: remove final from methods on
internal classes
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/XmlEntity.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/XmlEntity.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/XmlEntity.java
index c630aa9..be74e84 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/XmlEntity.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/XmlEntity.java
@@ -174,7 +174,7 @@ public class XmlEntity implements VersionedDataSerializable {
*
* @since GemFire 8.1
*/
- private final void init() {
+ private void init() {
Assert.assertTrue(!StringUtils.isBlank(type));
Assert.assertTrue(!StringUtils.isBlank(prefix));
Assert.assertTrue(!StringUtils.isBlank(namespace));
@@ -190,7 +190,7 @@ public class XmlEntity implements VersionedDataSerializable {
*
* @return XML string representation of the entity.
*/
- private final String loadXmlDefinition() {
+ private String loadXmlDefinition() {
final Cache cache = CacheFactory.getAnyInstance();
final StringWriter stringWriter = new StringWriter();
@@ -208,7 +208,7 @@ public class XmlEntity implements VersionedDataSerializable {
* @return XML for {@link XmlEntity} if found, otherwise <code>null</code>.
* @since GemFire 8.1
*/
- private final String loadXmlDefinition(final String xmlDocument) {
+ private String loadXmlDefinition(final String xmlDocument) {
final Cache cache = CacheFactory.getAnyInstance();
try {
InputSource inputSource = new InputSource(new StringReader(xmlDocument));
@@ -229,7 +229,7 @@ public class XmlEntity implements VersionedDataSerializable {
* @throws TransformerFactoryConfigurationError
* @since GemFire 8.1
*/
- private final String loadXmlDefinition(final Document document)
+ private String loadXmlDefinition(final Document document)
throws XPathExpressionException, TransformerFactoryConfigurationError, TransformerException {
final Cache cache = CacheFactory.getAnyInstance();
@@ -446,7 +446,7 @@ public class XmlEntity implements VersionedDataSerializable {
* @return new {@link XmlEntityBuilder}.
* @since GemFire 8.1
*/
- public static final XmlEntityBuilder builder() {
+ public static XmlEntityBuilder builder() {
return new XmlEntityBuilder();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/XmlUtils.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/XmlUtils.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/XmlUtils.java
index a6fafaa..c10dc4b 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/XmlUtils.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/XmlUtils.java
@@ -281,7 +281,7 @@ public class XmlUtils {
* @return {@link Map} of schema namespace URIs to location URLs.
* @since GemFire 8.1
*/
- public static final Map<String, List<String>> buildSchemaLocationMap(
+ public static Map<String, List<String>> buildSchemaLocationMap(
final String schemaLocation) {
return buildSchemaLocationMap(new HashMap<String, List<String>>(), schemaLocation);
}
@@ -298,7 +298,7 @@ public class XmlUtils {
* @return {@link Map} of schema namespace URIs to location URLs.
* @since GemFire 8.1
*/
- static final Map<String, List<String>> buildSchemaLocationMap(
+ static Map<String, List<String>> buildSchemaLocationMap(
Map<String, List<String>> schemaLocationMap, final String schemaLocation) {
if (null == schemaLocation) {
return schemaLocationMap;
@@ -419,14 +419,14 @@ public class XmlUtils {
return transform(transformer, doc);
}
- public static final String elementToString(Node element)
+ public static String elementToString(Node element)
throws TransformerFactoryConfigurationError, TransformerException {
Transformer transformer = TransformerFactory.newInstance().newTransformer();
return transform(transformer, element);
}
- private static final String transform(Transformer transformer, Node element)
+ private static String transform(Transformer transformer, Node element)
throws TransformerException {
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(element);
@@ -585,7 +585,7 @@ public class XmlUtils {
* @param schemaLocationMap {@link Map} to get schema locations from.
* @since GemFire 8.1
*/
- private static final String getSchemaLocationValue(
+ private static String getSchemaLocationValue(
final Map<String, List<String>> schemaLocationMap) {
final StringBuilder sb = new StringBuilder();
for (final Map.Entry<String, List<String>> entry : schemaLocationMap.entrySet()) {
@@ -606,7 +606,7 @@ public class XmlUtils {
* @return {@link Map} of namespace URIs to prefixes.
* @since GemFire 8.1
*/
- private static final Map<String, String> buildNamespacePrefixMap(final Element root) {
+ private static Map<String, String> buildNamespacePrefixMap(final Element root) {
final HashMap<String, String> namespacePrefixMap = new HashMap<>();
// Look for all of the attributes of cache that start with
@@ -646,7 +646,7 @@ public class XmlUtils {
* @return the modified version of the passed in node.
* @since GemFire 8.1
*/
- static final Node changeNamespace(final Node node, final String oldNamespaceUri,
+ static Node changeNamespace(final Node node, final String oldNamespaceUri,
final String newNamespaceUri) throws XPathExpressionException {
Node result = null;
final NodeList nodes = query(node, "//*");
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/web/io/MultipartFileResourceAdapter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/web/io/MultipartFileResourceAdapter.java b/geode-core/src/main/java/org/apache/geode/management/internal/web/io/MultipartFileResourceAdapter.java
index e782dc0..d4aa268 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/web/io/MultipartFileResourceAdapter.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/web/io/MultipartFileResourceAdapter.java
@@ -41,7 +41,7 @@ public class MultipartFileResourceAdapter extends AbstractResource {
this.file = file;
}
- protected final MultipartFile getMultipartFile() {
+ protected MultipartFile getMultipartFile() {
return file;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/web/shell/AbstractHttpOperationInvoker.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/web/shell/AbstractHttpOperationInvoker.java b/geode-core/src/main/java/org/apache/geode/management/internal/web/shell/AbstractHttpOperationInvoker.java
index 25f972e..b342c66 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/web/shell/AbstractHttpOperationInvoker.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/web/shell/AbstractHttpOperationInvoker.java
@@ -362,7 +362,7 @@ public abstract class AbstractHttpOperationInvoker implements HttpOperationInvok
* @return an instance of the ScheduledExecutorService for scheduling periodic or delayed tasks.
* @see java.util.concurrent.ScheduledExecutorService
*/
- protected final ScheduledExecutorService getExecutorService() {
+ protected ScheduledExecutorService getExecutorService() {
assertState(this.executorService != null,
"The ExecutorService for this HTTP OperationInvoker (%1$s) was not properly initialized!",
getClass().getName());
@@ -377,7 +377,7 @@ public abstract class AbstractHttpOperationInvoker implements HttpOperationInvok
* OperationInvoker to process commands.
* @see org.apache.geode.management.internal.cli.shell.Gfsh
*/
- protected final Gfsh getGfsh() {
+ protected Gfsh getGfsh() {
return this.gfsh;
}
@@ -388,7 +388,7 @@ public abstract class AbstractHttpOperationInvoker implements HttpOperationInvok
* @return an instance of the Spring RestTemplate used to make REST API web service calls.
* @see org.springframework.web.client.RestTemplate
*/
- protected final RestTemplate getRestTemplate() {
+ protected RestTemplate getRestTemplate() {
return this.restTemplate;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/web/shell/support/HttpInvocationHandler.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/web/shell/support/HttpInvocationHandler.java b/geode-core/src/main/java/org/apache/geode/management/internal/web/shell/support/HttpInvocationHandler.java
index b8e7506..a87948e 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/web/shell/support/HttpInvocationHandler.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/web/shell/support/HttpInvocationHandler.java
@@ -47,11 +47,11 @@ public class HttpInvocationHandler implements InvocationHandler {
this.objectName = objectName;
}
- protected final ObjectName getObjectName() {
+ protected ObjectName getObjectName() {
return objectName;
}
- protected final HttpOperationInvoker getOperationInvoker() {
+ protected HttpOperationInvoker getOperationInvoker() {
return operationInvoker;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/pdx/ReflectionBasedAutoSerializer.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/ReflectionBasedAutoSerializer.java b/geode-core/src/main/java/org/apache/geode/pdx/ReflectionBasedAutoSerializer.java
index 2f2d0e3..e5de960 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/ReflectionBasedAutoSerializer.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/ReflectionBasedAutoSerializer.java
@@ -247,7 +247,7 @@ public class ReflectionBasedAutoSerializer implements PdxSerializer, Declarable
* @param patterns the list of definitions to apply
* @deprecated as of 6.6.2 use {@link #reconfigure(String...)} instead.
*/
- public final void setSerializableClasses(List<String> patterns) {
+ public void setSerializableClasses(List<String> patterns) {
reconfigure(listToArray(patterns));
}
@@ -288,7 +288,7 @@ public class ReflectionBasedAutoSerializer implements PdxSerializer, Declarable
* @param patterns the definitions to apply
* @since GemFire 6.6.2
*/
- public final void reconfigure(String... patterns) {
+ public void reconfigure(String... patterns) {
reconfigure(false, patterns);
}
@@ -330,7 +330,7 @@ public class ReflectionBasedAutoSerializer implements PdxSerializer, Declarable
* throw an exception if the object it not portable to non-java languages.
* @since GemFire 6.6.2
*/
- public final void reconfigure(boolean checkPortability, String... patterns) {
+ public void reconfigure(boolean checkPortability, String... patterns) {
this.manager.reconfigure(checkPortability, patterns);
}
@@ -570,7 +570,7 @@ public class ReflectionBasedAutoSerializer implements PdxSerializer, Declarable
*
* @since GemFire 6.6.2
*/
- public final RegionService getRegionService() {
+ public RegionService getRegionService() {
return this.manager.getRegionService();
}
@@ -579,7 +579,7 @@ public class ReflectionBasedAutoSerializer implements PdxSerializer, Declarable
*
* @since GemFire 8.2
*/
- public final Object getManager() {
+ public Object getManager() {
// The result is not AutoSerializableManager because
// that class is not part of our public APIs.
return this.manager;
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/pdx/internal/AutoSerializableManager.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/AutoSerializableManager.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/AutoSerializableManager.java
index 5aaca91..354a9f7 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/AutoSerializableManager.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/AutoSerializableManager.java
@@ -744,14 +744,14 @@ public class AutoSerializableManager {
public abstract void orderedDeserialize(InternalPdxReader reader, Object obj);
- protected final Object readTransformIf(Object o, Object serializedValue)
+ protected Object readTransformIf(Object o, Object serializedValue)
throws IllegalArgumentException, IllegalAccessException {
if (!transform())
return serializedValue;
return readTransform(o, serializedValue);
}
- protected final Object readTransform(Object o, Object serializedValue)
+ protected Object readTransform(Object o, Object serializedValue)
throws IllegalArgumentException, IllegalAccessException {
return this.owner.getOwner().readTransform(getField(), o.getClass(), serializedValue);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/redis/internal/RegionProvider.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/RegionProvider.java b/geode-core/src/main/java/org/apache/geode/redis/internal/RegionProvider.java
index 1de73a0..94ff50c 100644
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/RegionProvider.java
+++ b/geode-core/src/main/java/org/apache/geode/redis/internal/RegionProvider.java
@@ -475,7 +475,7 @@ public class RegionProvider implements Closeable {
* @param delay The delay in milliseconds of the expiration
* @return True is expiration set, false otherwise
*/
- public final boolean setExpiration(ByteArrayWrapper key, long delay) {
+ public boolean setExpiration(ByteArrayWrapper key, long delay) {
RedisDataType type = getRedisDataType(key);
if (type == null)
return false;
@@ -492,7 +492,7 @@ public class RegionProvider implements Closeable {
* @param delay Delay in milliseconds to reset the expiration to
* @return True if reset, false if not
*/
- public final boolean modifyExpiration(ByteArrayWrapper key, long delay) {
+ public boolean modifyExpiration(ByteArrayWrapper key, long delay) {
/*
* Attempt to cancel future task
*/
@@ -517,7 +517,7 @@ public class RegionProvider implements Closeable {
* @param key Key
* @return True is expiration cancelled on the key, false otherwise
*/
- public final boolean cancelKeyExpiration(ByteArrayWrapper key) {
+ public boolean cancelKeyExpiration(ByteArrayWrapper key) {
ScheduledFuture<?> future = expirationsMap.remove(key);
if (future == null)
return false;
@@ -544,7 +544,7 @@ public class RegionProvider implements Closeable {
* @param key Key
* @return Remaining time in milliseconds or 0 if no delay or key doesn't exist
*/
- public final long getExpirationDelayMillis(ByteArrayWrapper key) {
+ public long getExpirationDelayMillis(ByteArrayWrapper key) {
ScheduledFuture<?> future = this.expirationsMap.get(key);
return future != null ? future.getDelay(TimeUnit.MILLISECONDS) : 0L;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/redis/internal/executor/hll/HllExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/hll/HllExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/hll/HllExecutor.java
index e440c09..c1b0488 100755
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/hll/HllExecutor.java
+++ b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/hll/HllExecutor.java
@@ -26,7 +26,7 @@ public abstract class HllExecutor extends AbstractExecutor {
public static final Integer DEFAULT_HLL_DENSE = 18;
public static final Integer DEFAULT_HLL_SPARSE = 32;
- protected final void checkAndSetDataType(ByteArrayWrapper key, ExecutionHandlerContext context) {
+ protected void checkAndSetDataType(ByteArrayWrapper key, ExecutionHandlerContext context) {
Object oldVal = context.getRegionProvider().metaPutIfAbsent(key, RedisDataType.REDIS_HLL);
if (oldVal == RedisDataType.REDIS_PROTECTED)
throw new RedisDataTypeMismatchException("The key name \"" + key + "\" is protected");
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/redis/internal/executor/list/ListExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/list/ListExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/list/ListExecutor.java
index fd518b9..cb365e6 100755
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/list/ListExecutor.java
+++ b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/list/ListExecutor.java
@@ -32,7 +32,7 @@ public abstract class ListExecutor extends AbstractExecutor {
LEFT, RIGHT
};
- protected final static QueryService getQueryService() {
+ protected static QueryService getQueryService() {
return GemFireCacheImpl.getInstance().getQueryService();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/redis/internal/executor/sortedset/ZRangeByLexExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/sortedset/ZRangeByLexExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/sortedset/ZRangeByLexExecutor.java
index 4466521..19bd199 100755
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/sortedset/ZRangeByLexExecutor.java
+++ b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/sortedset/ZRangeByLexExecutor.java
@@ -197,7 +197,7 @@ public class ZRangeByLexExecutor extends SortedSetExecutor {
}
- private final ByteBuf getCustomBulkStringArrayResponse(Collection<ByteArrayWrapper> items,
+ private ByteBuf getCustomBulkStringArrayResponse(Collection<ByteArrayWrapper> items,
ExecutionHandlerContext context) {
Iterator<ByteArrayWrapper> it = items.iterator();
ByteBuf response = context.getByteBufAllocator().buffer();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StringExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StringExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StringExecutor.java
index fb91f09..eb17e41 100755
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StringExecutor.java
+++ b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StringExecutor.java
@@ -22,7 +22,7 @@ import org.apache.geode.redis.internal.executor.AbstractExecutor;
public abstract class StringExecutor extends AbstractExecutor {
- protected final void checkAndSetDataType(ByteArrayWrapper key, ExecutionHandlerContext context) {
+ protected void checkAndSetDataType(ByteArrayWrapper key, ExecutionHandlerContext context) {
Object oldVal = context.getRegionProvider().metaPutIfAbsent(key, RedisDataType.REDIS_STRING);
if (oldVal == RedisDataType.REDIS_PROTECTED)
throw new RedisDataTypeMismatchException("The key name \"" + key + "\" is protected");
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/security/GemFireSecurityException.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/security/GemFireSecurityException.java b/geode-core/src/main/java/org/apache/geode/security/GemFireSecurityException.java
index 22c0302..2cab06c 100644
--- a/geode-core/src/main/java/org/apache/geode/security/GemFireSecurityException.java
+++ b/geode-core/src/main/java/org/apache/geode/security/GemFireSecurityException.java
@@ -76,7 +76,7 @@ public class GemFireSecurityException extends GemFireException {
}
@Override
- public final synchronized Throwable getCause() {
+ public synchronized Throwable getCause() {
return (this.cause == this ? null : this.cause);
}
@@ -86,7 +86,7 @@ public class GemFireSecurityException extends GemFireException {
* @param object the {@code object} to test for implementing {@code Serializable}.
* @return true if the provided {@code object} implements {@code Serializable}.
*/
- protected final boolean isSerializable(final Object object) {
+ protected boolean isSerializable(final Object object) {
if (object == null) {
return true;
}
@@ -100,7 +100,7 @@ public class GemFireSecurityException extends GemFireException {
* @return {@code NamingException#getResolvedObj()} if the {@code cause} is a
* {@code NamingException}.
*/
- protected final Object getResolvedObj() {
+ protected Object getResolvedObj() {
final Throwable thisCause = this.cause;
if (thisCause != null && NamingException.class.isInstance(thisCause)) {
return ((NamingException) thisCause).getResolvedObj();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqConflatable.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqConflatable.java b/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqConflatable.java
index 652f052..be6520b 100644
--- a/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqConflatable.java
+++ b/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqConflatable.java
@@ -124,28 +124,28 @@ public class CqConflatable implements Conflatable, Serializable {
/**
* @return Returns the conflate.
*/
- final boolean isConflate() {
+ boolean isConflate() {
return conflate;
}
/**
* @param conflate The conflate to set.
*/
- final void setConflate(boolean conflate) {
+ void setConflate(boolean conflate) {
this.conflate = conflate;
}
/**
* @return Returns the id.
*/
- final EventID getId() {
+ EventID getId() {
return id;
}
/**
* @param id The id to set.
*/
- final void setId(EventID id) {
+ void setId(EventID id) {
this.id = id;
}
@@ -159,35 +159,35 @@ public class CqConflatable implements Conflatable, Serializable {
/**
* @param key The key to set.
*/
- final void setKey(Object key) {
+ void setKey(Object key) {
this.key = key;
}
/**
* @return Returns the regionname.
*/
- final String getRegionname() {
+ String getRegionname() {
return regionname;
}
/**
* @param regionname The regionname to set.
*/
- final void setRegionname(String regionname) {
+ void setRegionname(String regionname) {
this.regionname = regionname;
}
/**
* @return Returns the value.
*/
- final Object getValue() {
+ Object getValue() {
return value;
}
/**
* @param value The value to set.
*/
- final void setValue(Object value) {
+ void setValue(Object value) {
this.value = value;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorDiscovery.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorDiscovery.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorDiscovery.java
index 0cfcc37..f5a8fcf 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorDiscovery.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorDiscovery.java
@@ -86,7 +86,7 @@ public class LocatorDiscovery {
private static final int FAILURE_LOG_MAX_INTERVAL = Integer.getInteger(
DistributionConfig.GEMFIRE_PREFIX + "LocatorDiscovery.FAILURE_LOG_MAX_INTERVAL", 300000);
- public final boolean skipFailureLogging(DistributionLocatorId locatorId) {
+ public boolean skipFailureLogging(DistributionLocatorId locatorId) {
boolean skipLogging = false;
if (this.failureLogInterval.size() < FAILURE_MAP_MAXSIZE) {
long[] logInterval = this.failureLogInterval.get(locatorId);
[05/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java
index 77048f7..cef4f3a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java
@@ -15,80 +15,111 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskRegionEntryOffHeapObjectKey
- extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinDiskRegionEntryOffHeap {
+ public VersionedThinDiskRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapObjectKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -96,13 +127,18 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -116,71 +152,72 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -190,57 +227,62 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -252,15 +294,16 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -268,17 +311,17 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -290,11 +333,11 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -303,6 +346,7 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -312,9 +356,9 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -329,19 +373,24 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java
index c2b9845..7c0a3a2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java
@@ -15,97 +15,126 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskRegionEntryOffHeapStringKey1
- extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThinDiskRegionEntryOffHeap {
+ public VersionedThinDiskRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey1.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -113,13 +142,18 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -133,71 +167,72 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -207,57 +242,62 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -269,15 +309,16 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -285,17 +326,17 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -307,11 +348,11 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -320,6 +361,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -329,9 +371,9 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -346,38 +388,38 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -386,15 +428,16 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -402,7 +445,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -415,5 +458,8 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java
index 0e3a75c..5cd055e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java
@@ -15,62 +15,93 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskRegionEntryOffHeapStringKey2
- extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThinDiskRegionEntryOffHeap {
+ public VersionedThinDiskRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -83,41 +114,39 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey2.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -125,13 +154,18 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -145,71 +179,72 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -219,57 +254,62 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -281,15 +321,16 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -297,17 +338,17 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -319,11 +360,11 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -332,6 +373,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -341,9 +383,9 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -358,39 +400,39 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -400,10 +442,10 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -414,16 +456,17 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -437,7 +480,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -456,5 +499,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java
index 751e8dd..8f4c139 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java
@@ -15,82 +15,118 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskRegionEntryOffHeapUUIDKey
- extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDiskRegionEntryOffHeap {
+ public VersionedThinDiskRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapUUIDKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapUUIDKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -98,13 +134,18 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -118,71 +159,72 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -192,57 +234,62 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -254,15 +301,16 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -270,17 +318,17 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -292,11 +340,11 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -305,6 +353,7 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -314,9 +363,9 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -331,22 +380,23 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -356,5 +406,8 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java
index 8d4d2b0..b1ffcf4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java
@@ -15,58 +15,106 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, value);
+ public VersionedThinLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapIntKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -75,133 +123,123 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -213,15 +251,16 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -229,17 +268,17 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -251,11 +290,11 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -264,6 +303,7 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -273,9 +313,9 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -290,21 +330,29 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -312,5 +360,8 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[40/78] geode git commit: GEODE-2929: remove final from methods on
internal classes
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionedRegionObserverHolder.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionedRegionObserverHolder.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionedRegionObserverHolder.java
index 888809d..e8241db 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionedRegionObserverHolder.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionedRegionObserverHolder.java
@@ -40,7 +40,7 @@ public class PartitionedRegionObserverHolder {
/**
* Set the given observer to be notified of events. Returns the current observer.
*/
- public static final PartitionedRegionObserver setInstance(PartitionedRegionObserver observer) {
+ public static PartitionedRegionObserver setInstance(PartitionedRegionObserver observer) {
Support.assertArg(observer != null, "setInstance expects a non-null argument!");
PartitionedRegionObserver oldObserver = _instance;
_instance = observer;
@@ -48,7 +48,7 @@ public class PartitionedRegionObserverHolder {
}
/** Return the current ClientServerObserver instance */
- public static final PartitionedRegionObserver getInstance() {
+ public static PartitionedRegionObserver getInstance() {
return _instance;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutMessage.java
index 25c1d00..b43bfc4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutMessage.java
@@ -437,15 +437,15 @@ public class PutMessage extends PartitionMessageWithDirectReply implements NewVa
return e2;
}
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
- public final void setKey(Object key) {
+ public void setKey(Object key) {
this.key = key;
}
- public final byte[] getValBytes() {
+ public byte[] getValBytes() {
return this.valBytes;
}
@@ -468,16 +468,16 @@ public class PutMessage extends PartitionMessageWithDirectReply implements NewVa
}
}
- public final Object getCallbackArg() {
+ public Object getCallbackArg() {
return this.cbArg;
}
- protected final Operation getOperation() {
+ protected Operation getOperation() {
return this.op;
}
@Override
- public final void setOperation(Operation operation) {
+ public void setOperation(Operation operation) {
this.op = operation;
}
@@ -509,7 +509,7 @@ public class PutMessage extends PartitionMessageWithDirectReply implements NewVa
}
@Override
- public final void fromData(DataInput in) throws IOException, ClassNotFoundException {
+ public void fromData(DataInput in) throws IOException, ClassNotFoundException {
super.fromData(in);
final int extraFlags = in.readUnsignedByte();
@@ -567,7 +567,7 @@ public class PutMessage extends PartitionMessageWithDirectReply implements NewVa
* buff.append("; oldvalue object="+this.oldValObj); buff.toString(); return buff.toString(); }
*/
@Override
- public final void toData(DataOutput out) throws IOException {
+ public void toData(DataOutput out) throws IOException {
PartitionedRegion region = null;
try {
boolean flag = internalDs.getConfig().getDeltaPropagation();
@@ -675,7 +675,7 @@ public class PutMessage extends PartitionMessageWithDirectReply implements NewVa
* indefinitely for the acknowledgement
*/
@Override
- protected final boolean operateOnPartitionedRegion(DistributionManager dm, PartitionedRegion r,
+ protected boolean operateOnPartitionedRegion(DistributionManager dm, PartitionedRegion r,
long startTime) throws EntryExistsException, DataLocationException, IOException {
this.setInternalDs(r.getSystem());// set the internal DS. Required to
// checked DS level delta-enabled property
@@ -823,7 +823,7 @@ public class PutMessage extends PartitionMessageWithDirectReply implements NewVa
@Override
- protected final void appendFields(StringBuilder buff) {
+ protected void appendFields(StringBuilder buff) {
super.appendFields(buff);
buff.append("; key=").append(getKey()).append("; value=");
// buff.append(getValBytes());
@@ -864,11 +864,11 @@ public class PutMessage extends PartitionMessageWithDirectReply implements NewVa
}
}
- public final InternalDistributedSystem getInternalDs() {
+ public InternalDistributedSystem getInternalDs() {
return internalDs;
}
- public final void setInternalDs(InternalDistributedSystem internalDs) {
+ public void setInternalDs(InternalDistributedSystem internalDs) {
this.internalDs = internalDs;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RegionAdvisor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RegionAdvisor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RegionAdvisor.java
index dc3efff..c473d2d 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RegionAdvisor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RegionAdvisor.java
@@ -568,7 +568,7 @@ public class RegionAdvisor extends CacheDistributionAdvisor {
}
@Override
- protected final int getIntInfo() {
+ protected int getIntInfo() {
int s = super.getIntInfo();
if (this.requiresNotification)
s |= REQUIRES_NOTIFICATION_MASK;
@@ -576,7 +576,7 @@ public class RegionAdvisor extends CacheDistributionAdvisor {
}
@Override
- protected final void setIntInfo(int s) {
+ protected void setIntInfo(int s) {
super.setIntInfo(s);
this.requiresNotification = (s & REQUIRES_NOTIFICATION_MASK) != 0;
}
@@ -598,7 +598,7 @@ public class RegionAdvisor extends CacheDistributionAdvisor {
out.writeInt(this.shutDownAllStatus);
}
- // public final StoppableReentrantReadWriteLock.StoppableReadLock
+ // public StoppableReentrantReadWriteLock.StoppableReadLock
// getIsClosingReadLock(CancelCriterion stopper) {
// synchronized (this) {
// if (isClosingLock == null) {
@@ -608,7 +608,7 @@ public class RegionAdvisor extends CacheDistributionAdvisor {
// return this.isClosingLock.readLock();
// }
- // public final Lock getIsClosingWriteLock() {
+ // public Lock getIsClosingWriteLock() {
// return this.isClosingLock.writeLock();
// }
@@ -1055,7 +1055,7 @@ public class RegionAdvisor extends CacheDistributionAdvisor {
}
@Override
- final synchronized public boolean putProfile(Profile p) {
+ synchronized public boolean putProfile(Profile p) {
assert p instanceof CacheProfile;
CacheProfile profile = (CacheProfile) p;
PartitionedRegion pr = getPartitionedRegion();
@@ -1072,7 +1072,7 @@ public class RegionAdvisor extends CacheDistributionAdvisor {
return super.putProfile(profile);
}
- final public PartitionProfile getPartitionProfile(InternalDistributedMember id) {
+ public PartitionProfile getPartitionProfile(InternalDistributedMember id) {
return (PartitionProfile) getProfile(id);
}
@@ -1209,7 +1209,7 @@ public class RegionAdvisor extends CacheDistributionAdvisor {
* @param bucketId
* @return the Node managing the primary copy of the bucket
*/
- final public InternalDistributedMember getPrimaryMemberForBucket(int bucketId) {
+ public InternalDistributedMember getPrimaryMemberForBucket(int bucketId) {
Assert.assertTrue(this.buckets != null);
Bucket b = this.buckets[bucketId];
return b.getBucketAdvisor().getPrimary();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoteSizeMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoteSizeMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoteSizeMessage.java
index 5595cb2..fd0ebd4 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoteSizeMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoteSizeMessage.java
@@ -120,7 +120,7 @@ public class RemoteSizeMessage extends RemoteOperationMessage {
* of the initialization
*/
@Override
- protected final boolean failIfRegionMissing() {
+ protected boolean failIfRegionMissing() {
return false;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java
index 4ef4157..7ee54d8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java
@@ -307,7 +307,7 @@ public class RemoveAllPRMessage extends PartitionMessageWithDirectReply {
* indefinitely for the acknowledgement
*/
@Override
- protected final boolean operateOnPartitionedRegion(DistributionManager dm, PartitionedRegion r,
+ protected boolean operateOnPartitionedRegion(DistributionManager dm, PartitionedRegion r,
long startTime) throws EntryExistsException, ForceReattemptException, DataLocationException {
boolean sendReply = true;
@@ -358,7 +358,7 @@ public class RemoveAllPRMessage extends PartitionMessageWithDirectReply {
* @return If succeeds, return true, otherwise, throw exception
*/
@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "IMSE_DONT_CATCH_IMSE")
- public final boolean doLocalRemoveAll(PartitionedRegion r, InternalDistributedMember eventSender,
+ public boolean doLocalRemoveAll(PartitionedRegion r, InternalDistributedMember eventSender,
boolean cacheWrite)
throws EntryExistsException, ForceReattemptException, DataLocationException {
boolean didRemove = false;
@@ -647,15 +647,15 @@ public class RemoveAllPRMessage extends PartitionMessageWithDirectReply {
}
}
- public final InternalDistributedSystem getInternalDs() {
+ public InternalDistributedSystem getInternalDs() {
return internalDs;
}
- public final void setInternalDs(InternalDistributedSystem internalDs) {
+ public void setInternalDs(InternalDistributedSystem internalDs) {
this.internalDs = internalDs;
}
- public final void setDirectAck(boolean directAck) {
+ public void setDirectAck(boolean directAck) {
this.directAck = directAck;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveIndexesMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveIndexesMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveIndexesMessage.java
index 5aff6da..4377daa 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveIndexesMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveIndexesMessage.java
@@ -109,7 +109,7 @@ public class RemoveIndexesMessage extends PartitionMessage {
* of the initialization
*/
@Override
- protected final boolean failIfRegionMissing() {
+ protected boolean failIfRegionMissing() {
return false;
}
@@ -220,7 +220,7 @@ public class RemoveIndexesMessage extends PartitionMessage {
}
@Override
- public final void fromData(DataInput in) throws IOException, ClassNotFoundException {
+ public void fromData(DataInput in) throws IOException, ClassNotFoundException {
super.fromData(in);
this.removeSingleIndex = in.readBoolean();
if (this.removeSingleIndex)
@@ -228,7 +228,7 @@ public class RemoveIndexesMessage extends PartitionMessage {
}
@Override
- public final void toData(DataOutput out) throws IOException {
+ public void toData(DataOutput out) throws IOException {
super.toData(out);
out.writeBoolean(this.removeSingleIndex);
if (this.removeSingleIndex)
@@ -239,7 +239,7 @@ public class RemoveIndexesMessage extends PartitionMessage {
* Processes remove index on the receiver.
*/
@Override
- public final void process(final DistributionManager dm) {
+ public void process(final DistributionManager dm) {
Throwable thr = null;
boolean sendReply = true;
@@ -502,7 +502,7 @@ public class RemoveIndexesMessage extends PartitionMessage {
* @param dm distribution manager
*/
@Override
- public final void process(final DM dm, final ReplyProcessor21 p) {
+ public void process(final DM dm, final ReplyProcessor21 p) {
RemoveIndexesResponse processor = (RemoveIndexesResponse) p;
if (processor != null) {
processor.setResponse(this.result, this.numBucketsIndexesRemoved, this.numTotalBuckets);
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/BytesAndBits.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/BytesAndBits.java b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/BytesAndBits.java
index 5ae3635..281fc93 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/BytesAndBits.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/BytesAndBits.java
@@ -31,11 +31,11 @@ public class BytesAndBits {
this.userBits = userBits;
}
- public final byte[] getBytes() {
+ public byte[] getBytes() {
return this.data;
}
- public final byte getBits() {
+ public byte getBits() {
return this.userBits;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/MembershipViewRequest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/MembershipViewRequest.java b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/MembershipViewRequest.java
index 2b77483..5efc7db 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/MembershipViewRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/MembershipViewRequest.java
@@ -91,7 +91,7 @@ public class MembershipViewRequest extends DistributionMessage implements Messag
}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return this.targetReinitializing ? DistributionManager.WAITING_POOL_EXECUTOR
: DistributionManager.HIGH_PRIORITY_EXECUTOR;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommand.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommand.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommand.java
index 58ba4b3..9ed00be 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommand.java
@@ -147,7 +147,7 @@ public abstract class BaseCommand implements Command {
protected SecurityService securityService = IntegratedSecurityService.getSecurityService();
- final public void execute(Message msg, ServerConnection servConn) {
+ public void execute(Message msg, ServerConnection servConn) {
// Read the request and update the statistics
long start = DistributionStats.getStatTime();
// servConn.resetTransientData();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientNotifierStats.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientNotifierStats.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientNotifierStats.java
index 8471252..e866c79 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientNotifierStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientNotifierStats.java
@@ -199,23 +199,23 @@ public class CacheClientNotifierStats {
}
}
- public final void incClientRegisterRequests() {
+ public void incClientRegisterRequests() {
this._stats.incInt(_clientHealthMonitorRegisterId, 1);
}
- public final int getClientRegisterRequests() {
+ public int getClientRegisterRequests() {
return this._stats.getInt(_clientHealthMonitorRegisterId);
}
- public final int get_durableReconnectionCount() {
+ public int get_durableReconnectionCount() {
return this._stats.getInt(_durableReconnectionCount);
}
- public final int get_queueDroppedCount() {
+ public int get_queueDroppedCount() {
return this._stats.getInt(_queueDroppedCount);
}
- public final int get_eventEnqueuedWhileClientAwayCount() {
+ public int get_eventEnqueuedWhileClientAwayCount() {
return this._stats.getInt(_eventEnqueuedWhileClientAwayCount);
}
@@ -231,31 +231,31 @@ public class CacheClientNotifierStats {
return this._stats.getLong(_compiledQueryUsedCount);
}
- public final void incDurableReconnectionCount() {
+ public void incDurableReconnectionCount() {
this._stats.incInt(_durableReconnectionCount, 1);
}
- public final void incQueueDroppedCount() {
+ public void incQueueDroppedCount() {
this._stats.incInt(_queueDroppedCount, 1);
}
- public final void incEventEnqueuedWhileClientAwayCount() {
+ public void incEventEnqueuedWhileClientAwayCount() {
this._stats.incInt(_eventEnqueuedWhileClientAwayCount, 1);
}
- public final void incClientUnRegisterRequests() {
+ public void incClientUnRegisterRequests() {
this._stats.incInt(_clientHealthMonitorUnRegisterId, 1);
}
- public final void incCompiledQueryCount(long count) {
+ public void incCompiledQueryCount(long count) {
this._stats.incLong(_compiledQueryCount, count);
}
- public final void incCompiledQueryUsedCount(long count) {
+ public void incCompiledQueryUsedCount(long count) {
this._stats.incLong(_compiledQueryUsedCount, count);
}
- public final int getClientUnRegisterRequests() {
+ public int getClientUnRegisterRequests() {
return this._stats.getInt(_clientHealthMonitorUnRegisterId);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxyStats.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxyStats.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxyStats.java
index 8676ea8..f3663c3 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxyStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxyStats.java
@@ -367,11 +367,11 @@ public class CacheClientProxyStats implements MessageStats {
this._stats.incInt(_deltaFullMessagesSentId, 1);
}
- public final void incReceivedBytes(long v) {
+ public void incReceivedBytes(long v) {
// noop since we never receive
}
- public final void incSentBytes(long v) {
+ public void incSentBytes(long v) {
this._stats.incLong(_sentBytesId, v);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HandShake.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HandShake.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HandShake.java
index 6e119c0..0b11bf1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HandShake.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HandShake.java
@@ -321,7 +321,7 @@ public class HandShake implements ClientHandShake {
}
}
- public final Version getClientVersion() {
+ public Version getClientVersion() {
return this.clientVersion;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Message.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Message.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Message.java
index cf144e5..f102b2d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Message.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Message.java
@@ -660,7 +660,7 @@ public class Message {
/**
* Read the actual bytes of the header off the socket
*/
- protected final void fetchHeader() throws IOException {
+ protected void fetchHeader() throws IOException {
final ByteBuffer cb = getCommBuffer();
cb.clear();
// msgType is invalidated here and can be used as an indicator
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java
index f5ca389..889980f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java
@@ -325,7 +325,7 @@ public class Part {
* Write the contents of this part to the specified byte buffer. Precondition: caller has already
* checked the length of this part and it will fit into "buf".
*/
- public final void writeTo(ByteBuffer buf) {
+ public void writeTo(ByteBuffer buf) {
if (getLength() > 0) {
if (this.part instanceof byte[]) {
buf.put((byte[]) this.part);
@@ -356,7 +356,7 @@ public class Part {
* buffer. This is only called for parts that will not fit into the commBuffer so they need to be
* written directly to the socket. Precondition: buf contains nothing that needs to be sent
*/
- public final void writeTo(SocketChannel sc, ByteBuffer buf) throws IOException {
+ public void writeTo(SocketChannel sc, ByteBuffer buf) throws IOException {
if (getLength() > 0) {
final int BUF_MAX = buf.capacity();
if (this.part instanceof byte[]) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/UnregisterAllInterest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/UnregisterAllInterest.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/UnregisterAllInterest.java
index ffe2c2c..7453ca8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/UnregisterAllInterest.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/UnregisterAllInterest.java
@@ -29,7 +29,7 @@ public class UnregisterAllInterest implements Serializable {
/**
* Return the only instance of this class.
*/
- public static final UnregisterAllInterest singleton() {
+ public static UnregisterAllInterest singleton() {
return SINGLETON;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/vmotion/VMotionObserverHolder.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/vmotion/VMotionObserverHolder.java b/geode-core/src/main/java/org/apache/geode/internal/cache/vmotion/VMotionObserverHolder.java
index 1ef4414..9393c1e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/vmotion/VMotionObserverHolder.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/vmotion/VMotionObserverHolder.java
@@ -37,7 +37,7 @@ public class VMotionObserverHolder {
/**
* Set the given observer to be notified of events. Returns the current observer.
*/
- public static final VMotionObserver setInstance(VMotionObserver observer) {
+ public static VMotionObserver setInstance(VMotionObserver observer) {
Support.assertArg(observer != null, "setInstance expects a non-null argument!");
VMotionObserver oldObserver = _instance;
_instance = observer;
@@ -45,7 +45,7 @@ public class VMotionObserverHolder {
}
/** Return the current VMotionObserver instance */
- public static final VMotionObserver getInstance() {
+ public static VMotionObserver getInstance() {
return _instance;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java
index fd128c3..0ba40b4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java
@@ -701,7 +701,7 @@ public abstract class AbstractGatewaySender implements GatewaySender, Distributi
return null;
}
- final public Set<RegionQueue> getQueuesForConcurrentSerialGatewaySender() {
+ public Set<RegionQueue> getQueuesForConcurrentSerialGatewaySender() {
if (this.eventProcessor != null
&& (this.eventProcessor instanceof ConcurrentSerialGatewaySenderEventProcessor)) {
return ((ConcurrentSerialGatewaySenderEventProcessor) this.eventProcessor).getQueues();
@@ -709,7 +709,7 @@ public abstract class AbstractGatewaySender implements GatewaySender, Distributi
return null;
}
- final protected void waitForRunningStatus() {
+ protected void waitForRunningStatus() {
synchronized (this.eventProcessor.runningStateLock) {
while (this.eventProcessor.getException() == null && this.eventProcessor.isStopped()) {
try {
@@ -728,7 +728,7 @@ public abstract class AbstractGatewaySender implements GatewaySender, Distributi
}
}
- final public void pause() {
+ public void pause() {
if (this.eventProcessor != null) {
this.getLifeCycleLock().writeLock().lock();
try {
@@ -750,7 +750,7 @@ public abstract class AbstractGatewaySender implements GatewaySender, Distributi
}
}
- final public void resume() {
+ public void resume() {
if (this.eventProcessor != null) {
this.getLifeCycleLock().writeLock().lock();
try {
@@ -773,21 +773,21 @@ public abstract class AbstractGatewaySender implements GatewaySender, Distributi
}
}
- final public boolean isPaused() {
+ public boolean isPaused() {
if (this.eventProcessor != null) {
return this.eventProcessor.isPaused();
}
return false;
}
- final public boolean isRunning() {
+ public boolean isRunning() {
if (this.eventProcessor != null) {
return !this.eventProcessor.isStopped();
}
return false;
}
- final public AbstractGatewaySenderEventProcessor getEventProcessor() {
+ public AbstractGatewaySenderEventProcessor getEventProcessor() {
return this.eventProcessor;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySenderEventProcessor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
index 478a54e..702438f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
@@ -349,7 +349,7 @@ public abstract class AbstractGatewaySenderEventProcessor extends Thread {
protected static final int FAILURE_LOG_MAX_INTERVAL = Integer.getInteger(
DistributionConfig.GEMFIRE_PREFIX + "GatewaySender.FAILURE_LOG_MAX_INTERVAL", 300000);
- public final boolean skipFailureLogging(Integer batchId) {
+ public boolean skipFailureLogging(Integer batchId) {
boolean skipLogging = false;
// if map has become large then give up on new events but we don't expect
// it to become too large in practise
@@ -387,7 +387,7 @@ public abstract class AbstractGatewaySenderEventProcessor extends Thread {
* After a successful batch execution remove from failure map if present (i.e. if the event had
* failed on a previous try).
*/
- public final boolean removeEventFromFailureMap(Integer batchId) {
+ public boolean removeEventFromFailureMap(Integer batchId) {
return this.failureLogInterval.remove(batchId) != null;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
index 2c3cb67..39f30d6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
@@ -1752,31 +1752,31 @@ public class ParallelGatewaySenderQueue implements RegionQueue {
// Prevent this region from participating in a TX, bug 38709
@Override
- final public boolean isSecret() {
+ public boolean isSecret() {
return true;
}
// Prevent this region from using concurrency checks
@Override
- final public boolean supportsConcurrencyChecks() {
+ public boolean supportsConcurrencyChecks() {
return false;
}
@Override
- final protected boolean shouldNotifyBridgeClients() {
+ protected boolean shouldNotifyBridgeClients() {
return false;
}
@Override
- final public boolean generateEventID() {
+ public boolean generateEventID() {
return false;
}
- final public boolean isUsedForParallelGatewaySenderQueue() {
+ public boolean isUsedForParallelGatewaySenderQueue() {
return true;
}
- final public AbstractGatewaySender getParallelGatewaySender() {
+ public AbstractGatewaySender getParallelGatewaySender() {
return this.sender;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueue.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueue.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueue.java
index 7928662..67f38f9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueue.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueue.java
@@ -1171,7 +1171,7 @@ public class SerialGatewaySenderQueue implements RegionQueue {
// Prevent this region from using concurrency checks
@Override
- final public boolean supportsConcurrencyChecks() {
+ public boolean supportsConcurrencyChecks() {
return false;
}
@@ -1182,7 +1182,7 @@ public class SerialGatewaySenderQueue implements RegionQueue {
// Prevent this region from participating in a TX, bug 38709
@Override
- final public boolean isSecret() {
+ public boolean isSecret() {
return true;
}
@@ -1191,12 +1191,12 @@ public class SerialGatewaySenderQueue implements RegionQueue {
public void createEventTracker() {}
@Override
- final protected boolean shouldNotifyBridgeClients() {
+ protected boolean shouldNotifyBridgeClients() {
return false;
}
@Override
- final public boolean generateEventID() {
+ public boolean generateEventID() {
return false;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheXml.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheXml.java b/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheXml.java
index 9816f26..bcf78a9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheXml.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheXml.java
@@ -905,7 +905,7 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
* @return String value for named attribute or null if attribute not defined.
* @since GemFire 8.1
*/
- public static final String getString(final Attributes attributes, final String name) {
+ public static String getString(final Attributes attributes, final String name) {
return getString(attributes, name, null);
}
@@ -917,7 +917,7 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
* @return String value for named attribute or <code>defaultValue</code> if attribute not defined.
* @since GemFire 8.1
*/
- public static final String getString(final Attributes attributes, final String name,
+ public static String getString(final Attributes attributes, final String name,
final String defaultValue) {
final String value = attributes.getValue(name);
if (null == value) {
@@ -933,7 +933,7 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
* @return Integer value for named attribute or null if attribute not defined.
* @since GemFire 8.1
*/
- public static final Integer getInteger(final Attributes attributes, final String name) {
+ public static Integer getInteger(final Attributes attributes, final String name) {
return getInteger(attributes, name, null);
}
@@ -946,7 +946,7 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
* defined.
* @since GemFire 8.1
*/
- public static final Integer getInteger(final Attributes attributes, final String name,
+ public static Integer getInteger(final Attributes attributes, final String name,
final Integer defaultValue) {
final String value = attributes.getValue(name);
if (null == value) {
@@ -962,7 +962,7 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
* @return Boolean value for named attribute or null if attribute not defined.
* @since GemFire 8.1
*/
- public static final Boolean getBoolean(final Attributes attributes, final String name) {
+ public static Boolean getBoolean(final Attributes attributes, final String name) {
return getBoolean(attributes, name, null);
}
@@ -975,7 +975,7 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
* defined.
* @since GemFire 8.1
*/
- public static final Boolean getBoolean(final Attributes attributes, final String name,
+ public static Boolean getBoolean(final Attributes attributes, final String name,
final Boolean defaultValue) {
final String value = attributes.getValue(name);
if (null == value) {
@@ -992,7 +992,7 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
* @return Enum value for named attribute or null if attribute not defined.
* @since GemFire 8.1
*/
- public static final <E extends Enum<E>> E getEnum(final Attributes attributes, final String name,
+ public static <E extends Enum<E>> E getEnum(final Attributes attributes, final String name,
final Class<E> clazz) {
return getEnum(attributes, name, clazz, null);
}
@@ -1006,7 +1006,7 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
* @return Enum value for named attribute or <code>defaultValue</code> if attribute not defined.
* @since GemFire 8.1
*/
- public static final <E extends Enum<E>> E getEnum(final Attributes attributes, final String name,
+ public static <E extends Enum<E>> E getEnum(final Attributes attributes, final String name,
final Class<E> clazz, E defaultValue) {
String value = attributes.getValue(name);
if (null == value) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/concurrent/CompactConcurrentHashSet2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/concurrent/CompactConcurrentHashSet2.java b/geode-core/src/main/java/org/apache/geode/internal/concurrent/CompactConcurrentHashSet2.java
index d184f98..9c40f0a 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/concurrent/CompactConcurrentHashSet2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/concurrent/CompactConcurrentHashSet2.java
@@ -338,19 +338,19 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
this.next = next;
}
- public final K getKey() {
+ public K getKey() {
return key;
}
- public final int hashCode() {
+ public int hashCode() {
return key.hashCode();
}
- public final String toString() {
+ public String toString() {
return key.toString();
}
- public final boolean equals(Object o) {
+ public boolean equals(Object o) {
Object k, u;
Node<?> e;
return ((o instanceof Node) && ((k = (e = (Node<?>) o)) != null)
@@ -387,14 +387,14 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
* the highest bits that would otherwise never be used in index calculations because of table
* bounds.
*/
- static final int spread(int h) {
+ static int spread(int h) {
return (h ^ (h >>> 16)) & HASH_BITS;
}
/**
* Returns a power of two table size for the given desired capacity. See Hackers Delight, sec 3.2
*/
- private static final int tableSizeFor(int c) {
+ private static int tableSizeFor(int c) {
int n = c - 1;
n |= n >>> 1;
n |= n >>> 2;
@@ -451,15 +451,15 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
*/
@SuppressWarnings("unchecked")
- static final <K> Node<K> tabAt(Node<K>[] tab, int i) {
+ static <K> Node<K> tabAt(Node<K>[] tab, int i) {
return (Node<K>) U.getObjectVolatile(tab, ((long) i << ASHIFT) + ABASE);
}
- static final <K> boolean casTabAt(Node<K>[] tab, int i, Node<K> c, Node<K> v) {
+ static <K> boolean casTabAt(Node<K>[] tab, int i, Node<K> c, Node<K> v) {
return U.compareAndSwapObject(tab, ((long) i << ASHIFT) + ABASE, c, v);
}
- static final <K> void setTabAt(Node<K>[] tab, int i, Node<K> v) {
+ static <K> void setTabAt(Node<K>[] tab, int i, Node<K> v) {
U.putOrderedObject(tab, ((long) i << ASHIFT) + ABASE, v);
}
@@ -624,7 +624,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
}
/** Implementation for add */
- final boolean putKey(V key, boolean onlyIfAbsent) {
+ boolean putKey(V key, boolean onlyIfAbsent) {
if (key == null)
throw new NullPointerException();
int hash = spread(key.hashCode());
@@ -698,7 +698,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
return removeNode(key);
}
- final boolean removeNode(Object key) {
+ boolean removeNode(Object key) {
int hash = spread(key.hashCode());
for (Node<V>[] tab = table;;) {
Node<V> f;
@@ -1076,14 +1076,14 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
* Returns the stamp bits for resizing a table of size n. Must be negative when shifted left by
* RESIZE_STAMP_SHIFT.
*/
- static final int resizeStamp(int n) {
+ static int resizeStamp(int n) {
return Integer.numberOfLeadingZeros(n) | (1 << (RESIZE_STAMP_BITS - 1));
}
/**
* Initializes table, using the size recorded in sizeCtl.
*/
- private final Node<V>[] initTable() {
+ private Node<V>[] initTable() {
Node<V>[] tab;
int sc;
while ((tab = table) == null || tab.length == 0) {
@@ -1115,7 +1115,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
* @param x the count to add
* @param check if <0, don't check resize, if <= 1 only check if uncontended
*/
- private final void addCount(long x, int check) {
+ private void addCount(long x, int check) {
CounterCell[] as;
long b, s;
if ((as = counterCells) != null
@@ -1157,7 +1157,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
/**
* Helps transfer if a resize is in progress.
*/
- final Node<V>[] helpTransfer(Node<V>[] tab, Node<V> f) {
+ Node<V>[] helpTransfer(Node<V>[] tab, Node<V> f) {
Node<V>[] nextTab;
int sc;
if (tab != null && (f instanceof ForwardingNode)
@@ -1182,7 +1182,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
*
* @param size number of elements (doesn't need to be perfectly accurate)
*/
- private final void tryPresize(int size) {
+ private void tryPresize(int size) {
int c = (size >= (MAXIMUM_CAPACITY >>> 1)) ? MAXIMUM_CAPACITY
: tableSizeFor(size + (size >>> 1) + 1);
int sc;
@@ -1223,7 +1223,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
/**
* Moves and/or copies the nodes in each bin to new table. See above for explanation.
*/
- private final void transfer(Node<V>[] tab, Node<V>[] nextTab) {
+ private void transfer(Node<V>[] tab, Node<V>[] nextTab) {
int n = tab.length, stride;
if ((stride = (NCPU > 1) ? (n >>> 3) / NCPU : n) < MIN_TRANSFER_STRIDE)
stride = MIN_TRANSFER_STRIDE; // subdivide range
@@ -1354,7 +1354,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
* Replaces all linked nodes in bin at given index unless table is too small, in which case
* resizes instead.
*/
- private final void treeifyBin(Node<V>[] tab, int index) {
+ private void treeifyBin(Node<V>[] tab, int index) {
Node<V> b;
int n, sc;
if (tab != null) {
@@ -1419,7 +1419,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
/**
* Returns the TreeNode (or null if not found) for the given key starting at given root.
*/
- final TreeNode<K> findTreeNode(int h, Object k, Class<?> kc) {
+ TreeNode<K> findTreeNode(int h, Object k, Class<?> kc) {
if (k != null) {
TreeNode<K> p = this;
do {
@@ -1530,7 +1530,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
/**
* Acquires write lock for tree restructuring.
*/
- private final void lockRoot() {
+ private void lockRoot() {
if (!U.compareAndSwapInt(this, LOCKSTATE, 0, WRITER))
contendedLock(); // offload to separate method
}
@@ -1538,14 +1538,14 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
/**
* Releases write lock for tree restructuring.
*/
- private final void unlockRoot() {
+ private void unlockRoot() {
lockState = 0;
}
/**
* Possibly blocks awaiting root lock.
*/
- private final void contendedLock() {
+ private void contendedLock() {
boolean waiting = false;
for (int s;;) {
if (((s = lockState) & ~WAITER) == 0) {
@@ -1568,7 +1568,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
* Returns matching node or null if none. Tries to search using tree comparisons from root, but
* continues linear search when lock not available.
*/
- final Node<K> find(int h, Object k) {
+ Node<K> find(int h, Object k) {
if (k != null) {
for (Node<K> e = first; e != null;) {
int s;
@@ -1607,7 +1607,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
*
* @return null if added
*/
- final TreeNode<K> putTreeVal(int h, K k) {
+ TreeNode<K> putTreeVal(int h, K k) {
Class<?> kc = null;
boolean searched = false;
for (TreeNode<K> p = root;;) {
@@ -1669,7 +1669,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
*
* @return true if now too small, so should be untreeified
*/
- final boolean removeTreeNode(TreeNode<K> p) {
+ boolean removeTreeNode(TreeNode<K> p) {
TreeNode<K> next = (TreeNode<K>) p.next;
TreeNode<K> pred = p.prev; // unlink traversal pointers
TreeNode<K> r, rl;
@@ -2022,7 +2022,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
/**
* Advances if possible, returning next valid node, or null if none.
*/
- final Node<K> advance() {
+ Node<K> advance() {
Node<K> e;
if ((e = next) != null)
e = e.next;
@@ -2103,15 +2103,15 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
advance();
}
- public final boolean hasNext() {
+ public boolean hasNext() {
return next != null;
}
- public final boolean hasMoreElements() {
+ public boolean hasMoreElements() {
return next != null;
}
- public final void remove() {
+ public void remove() {
Node<K> p;
if ((p = lastReturned) == null)
throw new IllegalStateException();
@@ -2125,7 +2125,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
super(tab, index, size, limit, map);
}
- public final K next() {
+ public K next() {
Node<K> p;
if ((p = next) == null)
throw new NoSuchElementException();
@@ -2135,7 +2135,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
return k;
}
- public final K nextElement() {
+ public K nextElement() {
return next();
}
}
@@ -2181,7 +2181,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
static final ThreadLocal<CounterHashCode> threadCounterHashCode =
new ThreadLocal<CounterHashCode>();
- final long sumCount() {
+ long sumCount() {
CounterCell[] as = counterCells;
CounterCell a;
long sum = baseCount;
@@ -2195,7 +2195,7 @@ public class CompactConcurrentHashSet2<V> extends AbstractSet<V> implements Set<
}
// See LongAdder version for explanation
- private final void fullAddCount(long x, CounterHashCode hc, boolean wasUncontended) {
+ private void fullAddCount(long x, CounterHashCode hc, boolean wasUncontended) {
int h;
if (hc == null) {
hc = new CounterHashCode();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/logging/PureLogWriter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/logging/PureLogWriter.java b/geode-core/src/main/java/org/apache/geode/internal/logging/PureLogWriter.java
index dbb6573..dadf79a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/logging/PureLogWriter.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/logging/PureLogWriter.java
@@ -252,7 +252,7 @@ public class PureLogWriter extends LogWriterImpl {
}
}
- public final void close() {
+ public void close() {
this.closed = true;
try {
if (this.logWriter != null) {
@@ -263,7 +263,7 @@ public class PureLogWriter extends LogWriterImpl {
}
}
- public final boolean isClosed() {
+ public boolean isClosed() {
return this.closed;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/logging/log4j/LocalizedMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/logging/log4j/LocalizedMessage.java b/geode-core/src/main/java/org/apache/geode/internal/logging/log4j/LocalizedMessage.java
index 870ca4f..717ae05 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/logging/log4j/LocalizedMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/logging/log4j/LocalizedMessage.java
@@ -41,19 +41,19 @@ public class LocalizedMessage implements Message {
return new LocalizedMessage(stringId, null, null);
}
- public static final LocalizedMessage create(final StringId stringId, final Object[] params) {
+ public static LocalizedMessage create(final StringId stringId, final Object[] params) {
return new LocalizedMessage(stringId, params, null);
}
- public static final LocalizedMessage create(final StringId stringId, final Throwable throwable) {
+ public static LocalizedMessage create(final StringId stringId, final Throwable throwable) {
return new LocalizedMessage(stringId, null, throwable);
}
- public static final LocalizedMessage create(final StringId stringId, final Object object) {
+ public static LocalizedMessage create(final StringId stringId, final Object object) {
return new LocalizedMessage(stringId, new Object[] {object}, null);
}
- public static final LocalizedMessage create(final StringId stringId, final Object[] params,
+ public static LocalizedMessage create(final StringId stringId, final Object[] params,
final Throwable throwable) {
return new LocalizedMessage(stringId, params, throwable);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/logging/log4j/LogWriterAppender.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/logging/log4j/LogWriterAppender.java b/geode-core/src/main/java/org/apache/geode/internal/logging/log4j/LogWriterAppender.java
index 61cbd45..8559d47 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/logging/log4j/LogWriterAppender.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/logging/log4j/LogWriterAppender.java
@@ -70,7 +70,7 @@ public class LogWriterAppender extends AbstractAppender implements PropertyChang
*
* @return The new instance.
*/
- static final LogWriterAppender create(final AppenderContext[] contexts, final String name,
+ static LogWriterAppender create(final AppenderContext[] contexts, final String name,
final PureLogWriter logWriter, final FileOutputStream fos) {
LogWriterAppender appender = new LogWriterAppender(contexts, name, logWriter, fos);
for (AppenderContext context : appender.appenderContexts) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java b/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java
index 3c9dd72..cd4814b 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java
@@ -39,7 +39,7 @@ import org.apache.geode.pdx.internal.PdxType;
*/
public class DataType implements DSCODE {
- public static final String getDataType(byte[] bytes) {
+ public static String getDataType(byte[] bytes) {
final DataInput in = getDataInput(bytes);
byte header = 0;
try {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/shared/NativeCalls.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/shared/NativeCalls.java b/geode-core/src/main/java/org/apache/geode/internal/shared/NativeCalls.java
index 86064e4..238abcf 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/shared/NativeCalls.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/shared/NativeCalls.java
@@ -81,7 +81,7 @@ public abstract class NativeCalls {
}
@SuppressWarnings("unchecked")
- protected static final Map<String, String> getModifiableJavaEnv() {
+ protected static Map<String, String> getModifiableJavaEnv() {
final Map<String, String> env = System.getenv();
try {
final Field m = env.getClass().getDeclaredField("m");
@@ -93,7 +93,7 @@ public abstract class NativeCalls {
}
@SuppressWarnings("unchecked")
- protected static final Map<String, String> getModifiableJavaEnvWIN() {
+ protected static Map<String, String> getModifiableJavaEnvWIN() {
try {
final Field envField = Class.forName("java.lang.ProcessEnvironment")
.getDeclaredField("theCaseInsensitiveEnvironment");
@@ -355,7 +355,7 @@ public abstract class NativeCalls {
* A generic implementation of {@link #setSocketOptions} for POSIX like systems that requires the
* child classes to implement a few platform specific methods.
*/
- protected final Map<TCPSocketOptions, Throwable> setGenericSocketOptions(Socket sock,
+ protected Map<TCPSocketOptions, Throwable> setGenericSocketOptions(Socket sock,
InputStream sockStream, Map<TCPSocketOptions, Object> optValueMap)
throws UnsupportedOperationException {
final Set<Map.Entry<TCPSocketOptions, Object>> optValueEntries = optValueMap.entrySet();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/shared/NativeCallsJNAImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/shared/NativeCallsJNAImpl.java b/geode-core/src/main/java/org/apache/geode/internal/shared/NativeCallsJNAImpl.java
index 3efb62b..760144a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/shared/NativeCallsJNAImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/shared/NativeCallsJNAImpl.java
@@ -69,7 +69,7 @@ public class NativeCallsJNAImpl {
*/
private static final NativeCalls instance = getImplInstance();
- private static final NativeCalls getImplInstance() {
+ private static NativeCalls getImplInstance() {
if (Platform.isLinux()) {
return new LinuxNativeCalls();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/shared/NativeErrorException.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/shared/NativeErrorException.java b/geode-core/src/main/java/org/apache/geode/internal/shared/NativeErrorException.java
index 63001f3..2a2193b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/shared/NativeErrorException.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/shared/NativeErrorException.java
@@ -33,7 +33,7 @@ public class NativeErrorException extends Exception {
this.errorCode = errorCode;
}
- public final int getErrorCode() {
+ public int getErrorCode() {
return this.errorCode;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/shared/OSType.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/shared/OSType.java b/geode-core/src/main/java/org/apache/geode/internal/shared/OSType.java
index afbf630..a401981 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/shared/OSType.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/shared/OSType.java
@@ -76,7 +76,7 @@ public enum OSType {
/**
* Indicates a Microsoft Windows family OS.
*/
- public final boolean isWindows() {
+ public boolean isWindows() {
return this == WIN;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/AbstractStatisticsFactory.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/AbstractStatisticsFactory.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/AbstractStatisticsFactory.java
index 90d141e..7a9fe8e 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/AbstractStatisticsFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/AbstractStatisticsFactory.java
@@ -59,32 +59,32 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
public void close() {}
@Override
- public final String getName() {
+ public String getName() {
return this.name;
}
@Override
- public final long getId() {
+ public long getId() {
return this.id;
}
@Override
- public final long getStartTime() {
+ public long getStartTime() {
return this.startTime;
}
@Override
- public final int getStatListModCount() {
+ public int getStatListModCount() {
return this.statsListModCount;
}
@Override
- public final List<Statistics> getStatsList() {
+ public List<Statistics> getStatsList() {
return this.statsList;
}
@Override
- public final int getStatisticsCount() {
+ public int getStatisticsCount() {
int result = 0;
List<Statistics> statsList = this.statsList;
if (statsList != null) {
@@ -94,7 +94,7 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
}
@Override
- public final Statistics findStatistics(long id) {
+ public Statistics findStatistics(long id) {
List<Statistics> statsList = this.statsList;
synchronized (statsList) {
for (Statistics s : statsList) {
@@ -108,7 +108,7 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
}
@Override
- public final boolean statisticsExists(long id) {
+ public boolean statisticsExists(long id) {
List<Statistics> statsList = this.statsList;
for (Statistics s : statsList) {
if (s.getUniqueId() == id) {
@@ -119,7 +119,7 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
}
@Override
- public final Statistics[] getStatistics() {
+ public Statistics[] getStatistics() {
List<Statistics> statsList = this.statsList;
return (Statistics[]) statsList.toArray(new Statistics[statsList.size()]);
}
@@ -127,17 +127,17 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
// StatisticsFactory methods
@Override
- public final Statistics createStatistics(StatisticsType type) {
+ public Statistics createStatistics(StatisticsType type) {
return createOsStatistics(type, null, 0, 0);
}
@Override
- public final Statistics createStatistics(StatisticsType type, String textId) {
+ public Statistics createStatistics(StatisticsType type, String textId) {
return createOsStatistics(type, textId, 0, 0);
}
@Override
- public final Statistics createStatistics(StatisticsType type, String textId, long numericId) {
+ public Statistics createStatistics(StatisticsType type, String textId, long numericId) {
return createOsStatistics(type, textId, 0, 0);
}
@@ -157,7 +157,7 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
}
@Override
- public final Statistics[] findStatisticsByType(StatisticsType type) {
+ public Statistics[] findStatisticsByType(StatisticsType type) {
List<Statistics> hits = new ArrayList<Statistics>();
Iterator<Statistics> it = statsList.iterator();
while (it.hasNext()) {
@@ -171,7 +171,7 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
}
@Override
- public final Statistics[] findStatisticsByTextId(String textId) {
+ public Statistics[] findStatisticsByTextId(String textId) {
List<Statistics> hits = new ArrayList<Statistics>();
Iterator<Statistics> it = statsList.iterator();
while (it.hasNext()) {
@@ -185,7 +185,7 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
}
@Override
- public final Statistics[] findStatisticsByNumericId(long numericId) {
+ public Statistics[] findStatisticsByNumericId(long numericId) {
List<Statistics> hits = new ArrayList<Statistics>();
Iterator<Statistics> it = statsList.iterator();
while (it.hasNext()) {
@@ -198,7 +198,7 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
return (Statistics[]) hits.toArray(result);
}
- public final Statistics findStatisticsByUniqueId(long uniqueId) {
+ public Statistics findStatisticsByUniqueId(long uniqueId) {
Iterator<Statistics> it = statsList.iterator();
while (it.hasNext()) {
Statistics s = (Statistics) it.next();
@@ -211,7 +211,7 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
/** for internal use only. Its called by {@link LocalStatisticsImpl#close}. */
@Override
- public final void destroyStatistics(Statistics stats) {
+ public void destroyStatistics(Statistics stats) {
synchronized (statsList) {
if (statsList.remove(stats)) {
statsListModCount++;
@@ -220,12 +220,12 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
}
@Override
- public final Statistics createAtomicStatistics(StatisticsType type) {
+ public Statistics createAtomicStatistics(StatisticsType type) {
return createAtomicStatistics(type, null, 0);
}
@Override
- public final Statistics createAtomicStatistics(StatisticsType type, String textId) {
+ public Statistics createAtomicStatistics(StatisticsType type, String textId) {
return createAtomicStatistics(type, textId, 0);
}
@@ -249,86 +249,86 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
* Creates or finds a StatisticType for the given shared class.
*/
@Override
- public final StatisticsType createType(String name, String description,
+ public StatisticsType createType(String name, String description,
StatisticDescriptor[] stats) {
return tf.createType(name, description, stats);
}
@Override
- public final StatisticsType findType(String name) {
+ public StatisticsType findType(String name) {
return tf.findType(name);
}
@Override
- public final StatisticsType[] createTypesFromXml(Reader reader) throws IOException {
+ public StatisticsType[] createTypesFromXml(Reader reader) throws IOException {
return tf.createTypesFromXml(reader);
}
@Override
- public final StatisticDescriptor createIntCounter(String name, String description, String units) {
+ public StatisticDescriptor createIntCounter(String name, String description, String units) {
return tf.createIntCounter(name, description, units);
}
@Override
- public final StatisticDescriptor createLongCounter(String name, String description,
+ public StatisticDescriptor createLongCounter(String name, String description,
String units) {
return tf.createLongCounter(name, description, units);
}
@Override
- public final StatisticDescriptor createDoubleCounter(String name, String description,
+ public StatisticDescriptor createDoubleCounter(String name, String description,
String units) {
return tf.createDoubleCounter(name, description, units);
}
@Override
- public final StatisticDescriptor createIntGauge(String name, String description, String units) {
+ public StatisticDescriptor createIntGauge(String name, String description, String units) {
return tf.createIntGauge(name, description, units);
}
@Override
- public final StatisticDescriptor createLongGauge(String name, String description, String units) {
+ public StatisticDescriptor createLongGauge(String name, String description, String units) {
return tf.createLongGauge(name, description, units);
}
@Override
- public final StatisticDescriptor createDoubleGauge(String name, String description,
+ public StatisticDescriptor createDoubleGauge(String name, String description,
String units) {
return tf.createDoubleGauge(name, description, units);
}
@Override
- public final StatisticDescriptor createIntCounter(String name, String description, String units,
+ public StatisticDescriptor createIntCounter(String name, String description, String units,
boolean largerBetter) {
return tf.createIntCounter(name, description, units, largerBetter);
}
@Override
- public final StatisticDescriptor createLongCounter(String name, String description, String units,
+ public StatisticDescriptor createLongCounter(String name, String description, String units,
boolean largerBetter) {
return tf.createLongCounter(name, description, units, largerBetter);
}
@Override
- public final StatisticDescriptor createDoubleCounter(String name, String description,
+ public StatisticDescriptor createDoubleCounter(String name, String description,
String units, boolean largerBetter) {
return tf.createDoubleCounter(name, description, units, largerBetter);
}
@Override
- public final StatisticDescriptor createIntGauge(String name, String description, String units,
+ public StatisticDescriptor createIntGauge(String name, String description, String units,
boolean largerBetter) {
return tf.createIntGauge(name, description, units, largerBetter);
}
@Override
- public final StatisticDescriptor createLongGauge(String name, String description, String units,
+ public StatisticDescriptor createLongGauge(String name, String description, String units,
boolean largerBetter) {
return tf.createLongGauge(name, description, units, largerBetter);
}
@Override
- public final StatisticDescriptor createDoubleGauge(String name, String description, String units,
+ public StatisticDescriptor createDoubleGauge(String name, String description, String units,
boolean largerBetter) {
return tf.createDoubleGauge(name, description, units, largerBetter);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/DummyStatisticsImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/DummyStatisticsImpl.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/DummyStatisticsImpl.java
index 120bf54..ed38f21 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/DummyStatisticsImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/DummyStatisticsImpl.java
@@ -49,137 +49,137 @@ public class DummyStatisticsImpl implements Statistics {
this.numericId = numericId;
}
- public final void close() {}
+ public void close() {}
//////////////////////// accessor Methods ///////////////////////
- public final int nameToId(String name) {
+ public int nameToId(String name) {
return this.type.nameToId(name);
}
- public final StatisticDescriptor nameToDescriptor(String name) {
+ public StatisticDescriptor nameToDescriptor(String name) {
return this.type.nameToDescriptor(name);
}
- public final long getUniqueId() {
+ public long getUniqueId() {
return 0;
}
- public final StatisticsType getType() {
+ public StatisticsType getType() {
return this.type;
}
- public final String getTextId() {
+ public String getTextId() {
return this.textId;
}
- public final long getNumericId() {
+ public long getNumericId() {
return this.numericId;
}
- public final boolean isAtomic() {
+ public boolean isAtomic() {
return true;
}
- public final boolean isClosed() {
+ public boolean isClosed() {
return false;
}
//////////////////////// set() Methods ///////////////////////
- public final void setInt(int id, int value) {}
+ public void setInt(int id, int value) {}
- public final void setInt(StatisticDescriptor descriptor, int value) {}
+ public void setInt(StatisticDescriptor descriptor, int value) {}
- public final void setInt(String name, int value) {}
+ public void setInt(String name, int value) {}
- public final void setLong(int id, long value) {}
+ public void setLong(int id, long value) {}
- public final void setLong(StatisticDescriptor descriptor, long value) {}
+ public void setLong(StatisticDescriptor descriptor, long value) {}
- public final void setLong(String name, long value) {}
+ public void setLong(String name, long value) {}
- public final void setDouble(int id, double value) {}
+ public void setDouble(int id, double value) {}
- public final void setDouble(StatisticDescriptor descriptor, double value) {}
+ public void setDouble(StatisticDescriptor descriptor, double value) {}
- public final void setDouble(String name, double value) {}
+ public void setDouble(String name, double value) {}
/////////////////////// get() Methods ///////////////////////
- public final int getInt(int id) {
+ public int getInt(int id) {
return 0;
}
- public final int getInt(StatisticDescriptor descriptor) {
+ public int getInt(StatisticDescriptor descriptor) {
return 0;
}
- public final int getInt(String name) {
+ public int getInt(String name) {
return 0;
}
- public final long getLong(int id) {
+ public long getLong(int id) {
return 0;
}
- public final long getLong(StatisticDescriptor descriptor) {
+ public long getLong(StatisticDescriptor descriptor) {
return 0;
}
- public final long getLong(String name) {
+ public long getLong(String name) {
return 0;
}
- public final double getDouble(int id) {
+ public double getDouble(int id) {
return 0.0;
}
- public final double getDouble(StatisticDescriptor descriptor) {
+ public double getDouble(StatisticDescriptor descriptor) {
return 0.0;
}
- public final double getDouble(String name) {
+ public double getDouble(String name) {
return 0.0;
}
private static final Number dummyNumber = Integer.valueOf(0);
- public final Number get(StatisticDescriptor descriptor) {
+ public Number get(StatisticDescriptor descriptor) {
return dummyNumber;
}
- public final Number get(String name) {
+ public Number get(String name) {
return dummyNumber;
}
- public final long getRawBits(StatisticDescriptor descriptor) {
+ public long getRawBits(StatisticDescriptor descriptor) {
return 0;
}
- public final long getRawBits(String name) {
+ public long getRawBits(String name) {
return 0;
}
//////////////////////// inc() Methods ////////////////////////
- public final void incInt(int id, int delta) {}
+ public void incInt(int id, int delta) {}
- public final void incInt(StatisticDescriptor descriptor, int delta) {}
+ public void incInt(StatisticDescriptor descriptor, int delta) {}
- public final void incInt(String name, int delta) {}
+ public void incInt(String name, int delta) {}
- public final void incLong(int id, long delta) {}
+ public void incLong(int id, long delta) {}
- public final void incLong(StatisticDescriptor descriptor, long delta) {}
+ public void incLong(StatisticDescriptor descriptor, long delta) {}
- public final void incLong(String name, long delta) {}
+ public void incLong(String name, long delta) {}
- public final void incDouble(int id, double delta) {}
+ public void incDouble(int id, double delta) {}
- public final void incDouble(StatisticDescriptor descriptor, double delta) {}
+ public void incDouble(StatisticDescriptor descriptor, double delta) {}
- public final void incDouble(String name, double delta) {}
+ public void incDouble(String name, double delta) {}
@Override
public IntSupplier setIntSupplier(final int id, final IntSupplier supplier) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/GemFireStatSampler.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/GemFireStatSampler.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/GemFireStatSampler.java
index f264238..1bc6b8a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/GemFireStatSampler.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/GemFireStatSampler.java
@@ -78,7 +78,7 @@ public class GemFireStatSampler extends HostStatSampler {
*
* @since GemFire 3.5
*/
- public final ProcessStats getProcessStats() {
+ public ProcessStats getProcessStats() {
return this.processStats;
}
@@ -157,12 +157,12 @@ public class GemFireStatSampler extends HostStatSampler {
}
@Override
- public final File getArchiveFileName() {
+ public File getArchiveFileName() {
return this.con.getConfig().getStatisticArchiveFile();
}
@Override
- public final long getArchiveFileSizeLimit() {
+ public long getArchiveFileSizeLimit() {
if (fileSizeLimitInKB()) {
// use KB instead of MB to speed up rolling for testing
return ((long) this.con.getConfig().getArchiveFileSizeLimit()) * (1024);
@@ -172,7 +172,7 @@ public class GemFireStatSampler extends HostStatSampler {
}
@Override
- public final long getArchiveDiskSpaceLimit() {
+ public long getArchiveDiskSpaceLimit() {
if (fileSizeLimitInKB()) {
// use KB instead of MB to speed up removal for testing
return ((long) this.con.getConfig().getArchiveDiskSpaceLimit()) * (1024);
@@ -216,27 +216,27 @@ public class GemFireStatSampler extends HostStatSampler {
}
@Override
- protected final int getSampleRate() {
+ protected int getSampleRate() {
return this.con.getConfig().getStatisticSampleRate();
}
@Override
- public final boolean isSamplingEnabled() {
+ public boolean isSamplingEnabled() {
return this.con.getConfig().getStatisticSamplingEnabled();
}
@Override
- protected final StatisticsManager getStatisticsManager() {
+ protected StatisticsManager getStatisticsManager() {
return this.con;
}
@Override
- protected final OsStatisticsFactory getOsStatisticsFactory() {
+ protected OsStatisticsFactory getOsStatisticsFactory() {
return this.con;
}
@Override
- protected final long getSpecialStatsId() {
+ protected long getSpecialStatsId() {
long statId = OSProcess.getId();
if (statId == 0 || statId == -1) {
statId = getStatisticsManager().getId();
@@ -245,7 +245,7 @@ public class GemFireStatSampler extends HostStatSampler {
}
@Override
- protected final void initProcessStats(long id) {
+ protected void initProcessStats(long id) {
if (PureJavaMode.osStatsAreAvailable()) {
if (osStatsDisabled()) {
logger.info(LogMarker.STATISTICS, LocalizedMessage.create(
@@ -269,7 +269,7 @@ public class GemFireStatSampler extends HostStatSampler {
}
@Override
- protected final void sampleProcessStats(boolean prepareOnly) {
+ protected void sampleProcessStats(boolean prepareOnly) {
if (prepareOnly || osStatsDisabled() || !PureJavaMode.osStatsAreAvailable()) {
return;
}
@@ -292,7 +292,7 @@ public class GemFireStatSampler extends HostStatSampler {
}
@Override
- protected final void closeProcessStats() {
+ protected void closeProcessStats() {
if (PureJavaMode.osStatsAreAvailable()) {
if (!osStatsDisabled()) {
if (this.processStats != null) {
@@ -415,12 +415,12 @@ public class GemFireStatSampler extends HostStatSampler {
private InternalDistributedMember recipient;
@Override
- public final int hashCode() {
+ public int hashCode() {
return listenerId;
}
@Override
- public final boolean equals(Object o) {
+ public boolean equals(Object o) {
if (o == null) {
return false;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/HostStatSampler.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/HostStatSampler.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/HostStatSampler.java
index c3ed946..928956e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/HostStatSampler.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/HostStatSampler.java
@@ -106,7 +106,7 @@ public abstract class HostStatSampler
this.timer = timer;
}
- public final StatSamplerStats getStatSamplerStats() {
+ public StatSamplerStats getStatSamplerStats() {
return this.samplerStats;
}
@@ -114,7 +114,7 @@ public abstract class HostStatSampler
* Returns the number of times a statistics resource has been add or deleted.
*/
@Override
- public final int getStatisticsModCount() {
+ public int getStatisticsModCount() {
return getStatisticsManager().getStatListModCount();
}
@@ -122,7 +122,7 @@ public abstract class HostStatSampler
* Returns an array of all the current statistic resource instances.
*/
@Override
- public final Statistics[] getStatistics() {
+ public Statistics[] getStatistics() {
return getStatisticsManager().getStatistics();
}
@@ -130,7 +130,7 @@ public abstract class HostStatSampler
* Returns a unique id for the sampler's system.
*/
@Override
- public final long getSystemId() {
+ public long getSystemId() {
return getStatisticsManager().getId();
}
@@ -138,7 +138,7 @@ public abstract class HostStatSampler
* Returns the time this sampler's system was started.
*/
@Override
- public final long getSystemStartTime() {
+ public long getSystemStartTime() {
return getStatisticsManager().getStartTime();
}
@@ -146,7 +146,7 @@ public abstract class HostStatSampler
* Returns the path to this sampler's system directory; if it has one.
*/
@Override
- public final String getSystemDirectoryPath() {
+ public String getSystemDirectoryPath() {
try {
return SocketCreator.getHostName(SocketCreator.getLocalHost());
} catch (UnknownHostException ignore) {
@@ -179,7 +179,7 @@ public abstract class HostStatSampler
* This service's main loop
*/
@Override
- public final void run() {
+ public void run() {
final boolean isDebugEnabled_STATISTICS = logger.isTraceEnabled(LogMarker.STATISTICS);
if (isDebugEnabled_STATISTICS) {
logger.trace(LogMarker.STATISTICS, "HostStatSampler started");
@@ -275,7 +275,7 @@ public abstract class HostStatSampler
* @throws IllegalStateException if an instance of the {@link #statThread} is still running from a
* previous DistributedSystem.
*/
- public final void start() {
+ public void start() {
synchronized (HostStatSampler.class) {
if (statThread != null) {
try {
@@ -311,11 +311,11 @@ public abstract class HostStatSampler
/**
* Tell this service's main thread to terminate.
*/
- public final void stop() {
+ public void stop() {
stop(true);
}
- private final void stop(boolean interruptIfAlive) {
+ private void stop(boolean interruptIfAlive) {
synchronized (HostStatSampler.class) {
this.callbackSampler.stop();
if (statThread == null) {
@@ -354,7 +354,7 @@ public abstract class HostStatSampler
}
}
- public final boolean isAlive() {
+ public boolean isAlive() {
synchronized (HostStatSampler.class) {
return statThread != null && statThread.isAlive();
}
@@ -367,7 +367,7 @@ public abstract class HostStatSampler
* @see #initSpecialStats
* @since GemFire 3.5
*/
- public final void waitForInitialization() throws InterruptedException {
+ public void waitForInitialization() throws InterruptedException {
this.statSamplerInitializedLatch.await();
}
@@ -378,7 +378,7 @@ public abstract class HostStatSampler
* @see #initSpecialStats
* @since GemFire 7.0
*/
- public final boolean waitForInitialization(long ms) throws InterruptedException {
+ public boolean waitForInitialization(long ms) throws InterruptedException {
return awaitInitialization(ms, TimeUnit.MILLISECONDS);
}
@@ -387,12 +387,12 @@ public abstract class HostStatSampler
*
* @see #initSpecialStats
*/
- public final boolean awaitInitialization(final long timeout, final TimeUnit unit)
+ public boolean awaitInitialization(final long timeout, final TimeUnit unit)
throws InterruptedException {
return this.statSamplerInitializedLatch.await(timeout, unit);
}
- public final void changeArchive(File newFile) {
+ public void changeArchive(File newFile) {
this.sampleCollector.changeArchive(newFile, timer.getTime());
}
@@ -401,7 +401,7 @@ public abstract class HostStatSampler
*
* @since GemFire 3.5
*/
- public final VMStatsContract getVMStats() {
+ public VMStatsContract getVMStats() {
return this.vmStats;
}
@@ -449,19 +449,19 @@ public abstract class HostStatSampler
return getStatisticsManager().getId();
}
- protected final boolean fileSizeLimitInKB() {
+ protected boolean fileSizeLimitInKB() {
return this.fileSizeLimitInKB;
}
- protected final boolean osStatsDisabled() {
+ protected boolean osStatsDisabled() {
return this.osStatsDisabled;
}
- protected final boolean stopRequested() {
+ protected boolean stopRequested() {
return stopper.isCancelInProgress() || this.stopRequested;
}
- public final SampleCollector getSampleCollector() {
+ public SampleCollector getSampleCollector() {
return this.sampleCollector;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/LocalStatisticsImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/LocalStatisticsImpl.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/LocalStatisticsImpl.java
index 02292aa..28056e5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/LocalStatisticsImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/LocalStatisticsImpl.java
@@ -165,7 +165,7 @@ public class LocalStatisticsImpl extends StatisticsImpl {
////////////////////// Instance Methods //////////////////////
@Override
- public final boolean isAtomic() {
+ public boolean isAtomic() {
return intLocks != null || longLocks != null || doubleLocks != null;
}
@@ -180,41 +180,41 @@ public class LocalStatisticsImpl extends StatisticsImpl {
//////////////////////// store() Methods ///////////////////////
@Override
- protected final void _setInt(int offset, int value) {
+ protected void _setInt(int offset, int value) {
this.intStorage[offset] = value;
}
@Override
- protected final void _setLong(int offset, long value) {
+ protected void _setLong(int offset, long value) {
this.longStorage[offset] = value;
}
@Override
- protected final void _setDouble(int offset, double value) {
+ protected void _setDouble(int offset, double value) {
this.doubleStorage[offset] = value;
}
/////////////////////// get() Methods ///////////////////////
@Override
- protected final int _getInt(int offset) {
+ protected int _getInt(int offset) {
return this.intStorage[offset];
}
@Override
- protected final long _getLong(int offset) {
+ protected long _getLong(int offset) {
return this.longStorage[offset];
}
@Override
- protected final double _getDouble(int offset) {
+ protected double _getDouble(int offset) {
return this.doubleStorage[offset];
}
//////////////////////// inc() Methods ////////////////////////
@Override
- protected final void _incInt(int offset, int delta) {
+ protected void _incInt(int offset, int delta) {
if (this.intLocks != null) {
synchronized (this.intLocks[offset]) {
this.intStorage[offset] += delta;
@@ -225,7 +225,7 @@ public class LocalStatisticsImpl extends StatisticsImpl {
}
@Override
- protected final void _incLong(int offset, long delta) {
+ protected void _incLong(int offset, long delta) {
if (this.longLocks != null) {
synchronized (this.longLocks[offset]) {
this.longStorage[offset] += delta;
@@ -236,7 +236,7 @@ public class LocalStatisticsImpl extends StatisticsImpl {
}
@Override
- protected final void _incDouble(int offset, double delta) {
+ protected void _incDouble(int offset, double delta) {
if (this.doubleLocks != null) {
synchronized (this.doubleLocks[offset]) {
this.doubleStorage[offset] += delta;
@@ -248,15 +248,15 @@ public class LocalStatisticsImpl extends StatisticsImpl {
/////////////////// internal package methods //////////////////
- final int[] _getIntStorage() {
+ int[] _getIntStorage() {
return this.intStorage;
}
- final long[] _getLongStorage() {
+ long[] _getLongStorage() {
return this.longStorage;
}
- final double[] _getDoubleStorage() {
+ double[] _getDoubleStorage() {
return this.doubleStorage;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/SampleCollector.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/SampleCollector.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/SampleCollector.java
index 2abbecd..0fc76cf 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/SampleCollector.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/SampleCollector.java
@@ -293,7 +293,7 @@ public class SampleCollector {
}
}
- public final void changeArchive(File newFile, long nanosTimeStamp) {
+ public void changeArchive(File newFile, long nanosTimeStamp) {
synchronized (this.sampleHandlers) {
if (logger.isTraceEnabled(LogMarker.STATISTICS)) {
logger.trace(LogMarker.STATISTICS,
[48/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java
index 5cd055e..1fd7871 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java
@@ -18,19 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,7 +31,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -64,8 +56,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+public class VersionedThinDiskRegionEntryOffHeapStringKey2
+ extends VersionedThinDiskRegionEntryOffHeap {
+ public VersionedThinDiskRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -73,14 +66,14 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -89,19 +82,20 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -118,35 +112,40 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey2.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -162,6 +161,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -179,7 +179,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -187,36 +187,41 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -226,12 +231,13 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -239,12 +245,12 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -254,62 +260,60 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -321,16 +325,16 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -338,17 +342,18 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -360,11 +365,11 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -373,7 +378,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -383,9 +388,9 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -400,15 +405,15 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -417,14 +422,17 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -432,7 +440,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -442,10 +450,10 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -456,17 +464,17 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -480,7 +488,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey2 extends VersionedThin
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java
index 8f4c139..59ab436 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java
@@ -20,17 +20,12 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,7 +33,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -64,8 +58,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+public class VersionedThinDiskRegionEntryOffHeapUUIDKey
+ extends VersionedThinDiskRegionEntryOffHeap {
+ public VersionedThinDiskRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -73,60 +68,60 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapUUIDKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapUUIDKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -142,6 +137,7 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -159,7 +155,7 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -167,36 +163,41 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -206,12 +207,13 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -219,12 +221,12 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -234,62 +236,60 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -301,16 +301,16 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -318,17 +318,18 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -340,11 +341,11 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -353,7 +354,7 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -363,9 +364,9 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -380,23 +381,25 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -406,7 +409,7 @@ public class VersionedThinDiskRegionEntryOffHeapUUIDKey extends VersionedThinDis
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java
index b1ffcf4..79520c1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java
@@ -18,40 +18,22 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VersionedThinLRURegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -81,40 +63,40 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapIntKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -123,24 +105,29 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -148,51 +135,57 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -202,33 +195,38 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -236,10 +234,8 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -251,16 +247,16 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -268,17 +264,18 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -290,11 +287,11 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -303,7 +300,7 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -313,9 +310,9 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -330,29 +327,26 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -360,7 +354,7 @@ public class VersionedThinLRURegionEntryHeapIntKey extends VersionedThinLRURegio
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java
index b93a72c..3f8145e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java
@@ -18,40 +18,22 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VersionedThinLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -81,42 +63,40 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapLongKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -125,24 +105,29 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -150,51 +135,57 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -204,33 +195,38 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -238,10 +234,8 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -253,16 +247,16 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -270,17 +264,18 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -292,11 +287,11 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -305,7 +300,7 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -315,9 +310,9 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -332,22 +327,24 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -355,7 +352,7 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java
index 8d67028..e30c9c4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java
@@ -18,40 +18,22 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VersionedThinLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -81,38 +63,40 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapObjectKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -121,24 +105,29 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -146,51 +135,57 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -200,27 +195,33 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -229,15 +230,12 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
-
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -249,16 +247,16 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -266,17 +264,18 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -288,11 +287,11 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -301,7 +300,7 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -311,9 +310,9 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -328,18 +327,19 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java
index 47e423d..8f3498c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java
@@ -18,40 +18,22 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VersionedThinLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -81,27 +63,28 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -112,20 +95,23 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapStringKey1.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -134,24 +120,29 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -159,51 +150,57 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -213,33 +210,38 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -247,10 +249,8 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -262,16 +262,16 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -279,17 +279,18 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -301,11 +302,11 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -314,7 +315,7 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -324,9 +325,9 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -341,38 +342,41 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -381,16 +385,16 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -398,7 +402,7 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -411,7 +415,7 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[59/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java
index 82cf428..bad1ad9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java
@@ -18,40 +18,23 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +56,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VersionedStatsDiskRegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -81,14 +64,14 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -97,19 +80,20 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -126,20 +110,23 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -148,24 +135,29 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -175,12 +167,13 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -188,12 +181,12 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -203,60 +196,60 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -267,51 +260,61 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -319,15 +322,16 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -339,16 +343,16 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -356,17 +360,18 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -378,11 +383,11 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -391,7 +396,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -401,9 +406,9 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -418,15 +423,15 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -435,14 +440,17 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -450,7 +458,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -460,10 +468,10 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -474,17 +482,17 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -498,7 +506,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java
index 449195c..bba03ae 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java
@@ -20,38 +20,23 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +58,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VersionedStatsDiskRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -81,45 +66,43 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -128,24 +111,29 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -155,12 +143,13 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -168,12 +157,12 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -183,60 +172,60 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -247,51 +236,61 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -299,15 +298,16 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -319,16 +319,16 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -336,17 +336,18 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -358,11 +359,11 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -371,7 +372,7 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -381,9 +382,9 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -398,23 +399,25 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -424,7 +427,7 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java
index f3276ae..9013a9d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java
@@ -18,35 +18,23 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +60,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+public class VersionedStatsDiskRegionEntryOffHeapIntKey
+ extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -81,55 +70,59 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -145,6 +138,7 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -162,7 +156,7 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -170,36 +164,41 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -209,12 +208,13 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -222,12 +222,12 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -237,60 +237,60 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -301,51 +301,61 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -353,15 +363,16 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -373,16 +384,16 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -390,17 +401,18 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -412,11 +424,11 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -425,7 +437,7 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -435,9 +447,9 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -452,29 +464,26 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -482,7 +491,7 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDi
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java
index 9e9b92e..2a86311 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java
@@ -18,35 +18,23 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +60,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+public class VersionedStatsDiskRegionEntryOffHeapLongKey
+ extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -81,57 +70,59 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +138,7 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +156,7 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +164,41 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -211,12 +208,13 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -224,12 +222,12 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -239,60 +237,60 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -303,51 +301,61 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -355,15 +363,16 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -375,16 +384,16 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -392,17 +401,18 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -414,11 +424,11 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -427,7 +437,7 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -437,9 +447,9 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -454,22 +464,24 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -477,7 +489,7 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsD
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java
index 1e08e5b..9a8f17a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java
@@ -18,35 +18,23 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +60,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+public class VersionedStatsDiskRegionEntryOffHeapObjectKey
+ extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -81,14 +70,14 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -99,35 +88,40 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -143,6 +137,7 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -160,7 +155,7 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -168,36 +163,41 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -207,12 +207,13 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -220,12 +221,12 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -235,60 +236,60 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -299,51 +300,61 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -351,15 +362,16 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -371,16 +383,16 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -388,17 +400,18 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -410,11 +423,11 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -423,7 +436,7 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -433,9 +446,9 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -450,18 +463,19 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStat
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
[77/78] geode git commit: fixup
Posted by kl...@apache.org.
fixup
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/5adb681a
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/5adb681a
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/5adb681a
Branch: refs/heads/feature/GEODE-2929
Commit: 5adb681af3b1d641ae30be2aa8705d376785c8fb
Parents: 5abc486
Author: Kirk Lund <kl...@apache.org>
Authored: Mon May 15 18:31:40 2017 -0700
Committer: Kirk Lund <kl...@apache.org>
Committed: Mon May 15 18:31:40 2017 -0700
----------------------------------------------------------------------
.../geode/cache/client/internal/AbstractOp.java | 4 +-
.../client/internal/ClientMetadataService.java | 2 +-
.../query/internal/index/HashIndexSet.java | 2 +-
.../internal/DistributionAdvisor.java | 6 +-
.../internal/DistributionMessageObserver.java | 3 +-
.../internal/direct/DirectChannel.java | 5 +-
.../geode/internal/ByteBufferOutputStream.java | 2 +-
.../geode/internal/HeapDataOutputStream.java | 53 ++--
.../geode/internal/NullDataOutputStream.java | 2 +-
.../internal/cache/AbstractLRURegionMap.java | 2 +-
.../geode/internal/cache/AbstractRegionMap.java | 18 +-
.../geode/internal/cache/BucketRegion.java | 2 +-
.../apache/geode/internal/cache/DiskRegion.java | 2 +-
.../geode/internal/cache/EntryEventImpl.java | 4 +-
.../apache/geode/internal/cache/HARegion.java | 2 +-
.../internal/cache/PersistentOplogSet.java | 2 +-
.../geode/internal/cache/RemoteGetMessage.java | 4 +-
.../internal/cache/RemotePutAllMessage.java | 5 +-
.../internal/cache/RemoteRemoveAllMessage.java | 3 +-
.../VMStatsDiskLRURegionEntryHeapIntKey.java | 216 +++++++------
.../VMStatsDiskLRURegionEntryHeapLongKey.java | 213 +++++++------
.../VMStatsDiskLRURegionEntryHeapObjectKey.java | 210 +++++++------
...VMStatsDiskLRURegionEntryHeapStringKey1.java | 239 +++++++-------
...VMStatsDiskLRURegionEntryHeapStringKey2.java | 239 +++++++-------
.../VMStatsDiskLRURegionEntryHeapUUIDKey.java | 213 +++++++------
.../VMStatsDiskLRURegionEntryOffHeapIntKey.java | 258 ++++++++--------
...VMStatsDiskLRURegionEntryOffHeapLongKey.java | 255 ++++++++-------
...StatsDiskLRURegionEntryOffHeapObjectKey.java | 250 ++++++++-------
...tatsDiskLRURegionEntryOffHeapStringKey1.java | 279 +++++++++--------
...tatsDiskLRURegionEntryOffHeapStringKey2.java | 279 +++++++++--------
...VMStatsDiskLRURegionEntryOffHeapUUIDKey.java | 255 ++++++++-------
.../cache/VMStatsDiskRegionEntryHeapIntKey.java | 172 ++++++-----
.../VMStatsDiskRegionEntryHeapLongKey.java | 169 +++++-----
.../VMStatsDiskRegionEntryHeapObjectKey.java | 163 +++++-----
.../VMStatsDiskRegionEntryHeapStringKey1.java | 192 ++++++------
.../VMStatsDiskRegionEntryHeapStringKey2.java | 192 ++++++------
.../VMStatsDiskRegionEntryHeapUUIDKey.java | 169 +++++-----
.../VMStatsDiskRegionEntryOffHeapIntKey.java | 206 +++++++------
.../VMStatsDiskRegionEntryOffHeapLongKey.java | 203 ++++++------
.../VMStatsDiskRegionEntryOffHeapObjectKey.java | 200 ++++++------
...VMStatsDiskRegionEntryOffHeapStringKey1.java | 229 +++++++-------
...VMStatsDiskRegionEntryOffHeapStringKey2.java | 229 +++++++-------
.../VMStatsDiskRegionEntryOffHeapUUIDKey.java | 203 ++++++------
.../cache/VMStatsLRURegionEntryHeapIntKey.java | 123 ++++----
.../cache/VMStatsLRURegionEntryHeapLongKey.java | 120 +++----
.../VMStatsLRURegionEntryHeapObjectKey.java | 113 ++++---
.../VMStatsLRURegionEntryHeapStringKey1.java | 141 +++++----
.../VMStatsLRURegionEntryHeapStringKey2.java | 141 +++++----
.../cache/VMStatsLRURegionEntryHeapUUIDKey.java | 113 ++++---
.../VMStatsLRURegionEntryOffHeapIntKey.java | 162 +++++-----
.../VMStatsLRURegionEntryOffHeapLongKey.java | 159 +++++-----
.../VMStatsLRURegionEntryOffHeapObjectKey.java | 154 ++++-----
.../VMStatsLRURegionEntryOffHeapStringKey1.java | 183 ++++++-----
.../VMStatsLRURegionEntryOffHeapStringKey2.java | 183 ++++++-----
.../VMStatsLRURegionEntryOffHeapUUIDKey.java | 152 ++++-----
.../cache/VMStatsRegionEntryHeapIntKey.java | 76 ++---
.../cache/VMStatsRegionEntryHeapLongKey.java | 73 +++--
.../cache/VMStatsRegionEntryHeapObjectKey.java | 66 ++--
.../cache/VMStatsRegionEntryHeapStringKey1.java | 94 +++---
.../cache/VMStatsRegionEntryHeapStringKey2.java | 94 +++---
.../cache/VMStatsRegionEntryHeapUUIDKey.java | 66 ++--
.../cache/VMStatsRegionEntryOffHeapIntKey.java | 108 ++++---
.../cache/VMStatsRegionEntryOffHeapLongKey.java | 105 ++++---
.../VMStatsRegionEntryOffHeapObjectKey.java | 98 +++---
.../VMStatsRegionEntryOffHeapStringKey1.java | 126 ++++----
.../VMStatsRegionEntryOffHeapStringKey2.java | 126 ++++----
.../cache/VMStatsRegionEntryOffHeapUUIDKey.java | 98 +++---
.../VMThinDiskLRURegionEntryHeapIntKey.java | 187 +++++------
.../VMThinDiskLRURegionEntryHeapLongKey.java | 184 +++++------
.../VMThinDiskLRURegionEntryHeapObjectKey.java | 177 ++++++-----
.../VMThinDiskLRURegionEntryHeapStringKey1.java | 208 +++++++------
.../VMThinDiskLRURegionEntryHeapStringKey2.java | 208 +++++++------
.../VMThinDiskLRURegionEntryHeapUUIDKey.java | 184 +++++------
.../VMThinDiskLRURegionEntryOffHeapIntKey.java | 227 +++++++-------
.../VMThinDiskLRURegionEntryOffHeapLongKey.java | 224 +++++++-------
...MThinDiskLRURegionEntryOffHeapObjectKey.java | 219 ++++++-------
...ThinDiskLRURegionEntryOffHeapStringKey1.java | 248 ++++++++-------
...ThinDiskLRURegionEntryOffHeapStringKey2.java | 248 ++++++++-------
.../VMThinDiskLRURegionEntryOffHeapUUIDKey.java | 224 +++++++-------
.../cache/VMThinDiskRegionEntryHeapIntKey.java | 146 +++++----
.../cache/VMThinDiskRegionEntryHeapLongKey.java | 147 +++++----
.../VMThinDiskRegionEntryHeapObjectKey.java | 139 ++++-----
.../VMThinDiskRegionEntryHeapStringKey1.java | 168 +++++-----
.../VMThinDiskRegionEntryHeapStringKey2.java | 168 +++++-----
.../cache/VMThinDiskRegionEntryHeapUUIDKey.java | 147 +++++----
.../VMThinDiskRegionEntryOffHeapIntKey.java | 176 +++++------
.../VMThinDiskRegionEntryOffHeapLongKey.java | 177 ++++++-----
.../VMThinDiskRegionEntryOffHeapObjectKey.java | 172 +++++------
.../VMThinDiskRegionEntryOffHeapStringKey1.java | 201 ++++++------
.../VMThinDiskRegionEntryOffHeapStringKey2.java | 201 ++++++------
.../VMThinDiskRegionEntryOffHeapUUIDKey.java | 177 ++++++-----
.../cache/VMThinLRURegionEntryHeapIntKey.java | 94 +++---
.../cache/VMThinLRURegionEntryHeapLongKey.java | 91 +++---
.../VMThinLRURegionEntryHeapObjectKey.java | 84 ++---
.../VMThinLRURegionEntryHeapStringKey1.java | 112 +++----
.../VMThinLRURegionEntryHeapStringKey2.java | 112 +++----
.../cache/VMThinLRURegionEntryHeapUUIDKey.java | 84 ++---
.../VMThinLRURegionEntryOffHeapIntKey.java | 133 ++++----
.../VMThinLRURegionEntryOffHeapLongKey.java | 130 ++++----
.../VMThinLRURegionEntryOffHeapObjectKey.java | 123 ++++----
.../VMThinLRURegionEntryOffHeapStringKey1.java | 152 ++++-----
.../VMThinLRURegionEntryOffHeapStringKey2.java | 152 ++++-----
.../VMThinLRURegionEntryOffHeapUUIDKey.java | 123 ++++----
.../cache/VMThinRegionEntryHeapIntKey.java | 47 ++-
.../cache/VMThinRegionEntryHeapLongKey.java | 44 ++-
.../cache/VMThinRegionEntryHeapObjectKey.java | 37 +--
.../cache/VMThinRegionEntryHeapStringKey1.java | 65 ++--
.../cache/VMThinRegionEntryHeapStringKey2.java | 65 ++--
.../cache/VMThinRegionEntryHeapUUIDKey.java | 37 +--
.../cache/VMThinRegionEntryOffHeapIntKey.java | 79 +++--
.../cache/VMThinRegionEntryOffHeapLongKey.java | 76 +++--
.../VMThinRegionEntryOffHeapObjectKey.java | 69 ++---
.../VMThinRegionEntryOffHeapStringKey1.java | 97 +++---
.../VMThinRegionEntryOffHeapStringKey2.java | 97 +++---
.../cache/VMThinRegionEntryOffHeapUUIDKey.java | 69 +++--
...sionedStatsDiskLRURegionEntryHeapIntKey.java | 261 ++++++++--------
...ionedStatsDiskLRURegionEntryHeapLongKey.java | 258 +++++++++-------
...nedStatsDiskLRURegionEntryHeapObjectKey.java | 252 ++++++++-------
...edStatsDiskLRURegionEntryHeapStringKey1.java | 281 +++++++++--------
...edStatsDiskLRURegionEntryHeapStringKey2.java | 281 +++++++++--------
...ionedStatsDiskLRURegionEntryHeapUUIDKey.java | 258 +++++++++-------
...nedStatsDiskLRURegionEntryOffHeapIntKey.java | 289 +++++++++--------
...edStatsDiskLRURegionEntryOffHeapLongKey.java | 286 +++++++++--------
...StatsDiskLRURegionEntryOffHeapObjectKey.java | 280 +++++++++--------
...tatsDiskLRURegionEntryOffHeapStringKey1.java | 309 +++++++++++--------
...tatsDiskLRURegionEntryOffHeapStringKey2.java | 309 +++++++++++--------
...edStatsDiskLRURegionEntryOffHeapUUIDKey.java | 286 +++++++++--------
...VersionedStatsDiskRegionEntryHeapIntKey.java | 220 ++++++-------
...ersionedStatsDiskRegionEntryHeapLongKey.java | 217 ++++++-------
...sionedStatsDiskRegionEntryHeapObjectKey.java | 211 ++++++-------
...ionedStatsDiskRegionEntryHeapStringKey1.java | 240 +++++++-------
...ionedStatsDiskRegionEntryHeapStringKey2.java | 240 +++++++-------
...ersionedStatsDiskRegionEntryHeapUUIDKey.java | 217 ++++++-------
...sionedStatsDiskRegionEntryOffHeapIntKey.java | 251 +++++++--------
...ionedStatsDiskRegionEntryOffHeapLongKey.java | 248 ++++++++-------
...nedStatsDiskRegionEntryOffHeapObjectKey.java | 242 ++++++++-------
...edStatsDiskRegionEntryOffHeapStringKey1.java | 271 ++++++++--------
...edStatsDiskRegionEntryOffHeapStringKey2.java | 271 ++++++++--------
...ionedStatsDiskRegionEntryOffHeapUUIDKey.java | 248 ++++++++-------
.../VersionedStatsLRURegionEntryHeapIntKey.java | 165 +++++-----
...VersionedStatsLRURegionEntryHeapLongKey.java | 162 +++++-----
...rsionedStatsLRURegionEntryHeapObjectKey.java | 155 +++++-----
...sionedStatsLRURegionEntryHeapStringKey1.java | 183 ++++++-----
...sionedStatsLRURegionEntryHeapStringKey2.java | 183 ++++++-----
...VersionedStatsLRURegionEntryHeapUUIDKey.java | 155 ++++++----
...rsionedStatsLRURegionEntryOffHeapIntKey.java | 193 ++++++------
...sionedStatsLRURegionEntryOffHeapLongKey.java | 193 ++++++------
...onedStatsLRURegionEntryOffHeapObjectKey.java | 186 ++++++-----
...nedStatsLRURegionEntryOffHeapStringKey1.java | 214 +++++++------
...nedStatsLRURegionEntryOffHeapStringKey2.java | 214 +++++++------
...sionedStatsLRURegionEntryOffHeapUUIDKey.java | 186 ++++++-----
.../VersionedStatsRegionEntryHeapIntKey.java | 128 ++++----
.../VersionedStatsRegionEntryHeapLongKey.java | 125 ++++----
.../VersionedStatsRegionEntryHeapObjectKey.java | 121 ++++----
...VersionedStatsRegionEntryHeapStringKey1.java | 149 ++++-----
...VersionedStatsRegionEntryHeapStringKey2.java | 149 ++++-----
.../VersionedStatsRegionEntryHeapUUIDKey.java | 118 ++++---
.../VersionedStatsRegionEntryOffHeapIntKey.java | 158 +++++-----
...VersionedStatsRegionEntryOffHeapLongKey.java | 155 +++++-----
...rsionedStatsRegionEntryOffHeapObjectKey.java | 149 ++++-----
...sionedStatsRegionEntryOffHeapStringKey1.java | 177 ++++++-----
...sionedStatsRegionEntryOffHeapStringKey2.java | 177 ++++++-----
...VersionedStatsRegionEntryOffHeapUUIDKey.java | 148 ++++-----
...rsionedThinDiskLRURegionEntryHeapIntKey.java | 227 +++++++-------
...sionedThinDiskLRURegionEntryHeapLongKey.java | 227 +++++++-------
...onedThinDiskLRURegionEntryHeapObjectKey.java | 221 ++++++-------
...nedThinDiskLRURegionEntryHeapStringKey1.java | 250 ++++++++-------
...nedThinDiskLRURegionEntryHeapStringKey2.java | 250 ++++++++-------
...sionedThinDiskLRURegionEntryHeapUUIDKey.java | 227 +++++++-------
...onedThinDiskLRURegionEntryOffHeapIntKey.java | 258 ++++++++--------
...nedThinDiskLRURegionEntryOffHeapLongKey.java | 255 ++++++++-------
...dThinDiskLRURegionEntryOffHeapObjectKey.java | 249 ++++++++-------
...ThinDiskLRURegionEntryOffHeapStringKey1.java | 278 +++++++++--------
...ThinDiskLRURegionEntryOffHeapStringKey2.java | 278 +++++++++--------
...nedThinDiskLRURegionEntryOffHeapUUIDKey.java | 255 ++++++++-------
.../VersionedThinDiskRegionEntryHeapIntKey.java | 185 ++++++-----
...VersionedThinDiskRegionEntryHeapLongKey.java | 182 ++++++-----
...rsionedThinDiskRegionEntryHeapObjectKey.java | 176 ++++++-----
...sionedThinDiskRegionEntryHeapStringKey1.java | 207 +++++++------
...sionedThinDiskRegionEntryHeapStringKey2.java | 207 +++++++------
...VersionedThinDiskRegionEntryHeapUUIDKey.java | 182 ++++++-----
...rsionedThinDiskRegionEntryOffHeapIntKey.java | 215 +++++++------
...sionedThinDiskRegionEntryOffHeapLongKey.java | 215 ++++++-------
...onedThinDiskRegionEntryOffHeapObjectKey.java | 209 +++++++------
...nedThinDiskRegionEntryOffHeapStringKey1.java | 238 +++++++-------
...nedThinDiskRegionEntryOffHeapStringKey2.java | 238 +++++++-------
...sionedThinDiskRegionEntryOffHeapUUIDKey.java | 215 ++++++-------
.../VersionedThinLRURegionEntryHeapIntKey.java | 134 ++++----
.../VersionedThinLRURegionEntryHeapLongKey.java | 131 ++++----
...ersionedThinLRURegionEntryHeapObjectKey.java | 124 ++++----
...rsionedThinLRURegionEntryHeapStringKey1.java | 152 ++++-----
...rsionedThinLRURegionEntryHeapStringKey2.java | 152 ++++-----
.../VersionedThinLRURegionEntryHeapUUIDKey.java | 124 ++++----
...ersionedThinLRURegionEntryOffHeapIntKey.java | 162 +++++-----
...rsionedThinLRURegionEntryOffHeapLongKey.java | 159 +++++-----
...ionedThinLRURegionEntryOffHeapObjectKey.java | 155 +++++-----
...onedThinLRURegionEntryOffHeapStringKey1.java | 183 ++++++-----
...onedThinLRURegionEntryOffHeapStringKey2.java | 183 ++++++-----
...rsionedThinLRURegionEntryOffHeapUUIDKey.java | 152 ++++-----
.../VersionedThinRegionEntryHeapIntKey.java | 87 +++---
.../VersionedThinRegionEntryHeapLongKey.java | 84 +++--
.../VersionedThinRegionEntryHeapObjectKey.java | 78 +++--
.../VersionedThinRegionEntryHeapStringKey1.java | 106 ++++---
.../VersionedThinRegionEntryHeapStringKey2.java | 106 ++++---
.../VersionedThinRegionEntryHeapUUIDKey.java | 77 +++--
.../VersionedThinRegionEntryOffHeapIntKey.java | 115 ++++---
.../VersionedThinRegionEntryOffHeapLongKey.java | 112 ++++---
...ersionedThinRegionEntryOffHeapObjectKey.java | 106 +++----
...rsionedThinRegionEntryOffHeapStringKey1.java | 134 ++++----
...rsionedThinRegionEntryOffHeapStringKey2.java | 134 ++++----
.../VersionedThinRegionEntryOffHeapUUIDKey.java | 105 ++++---
.../cache/execute/AbstractExecution.java | 3 +-
.../partitioned/BecomePrimaryBucketMessage.java | 4 +-
.../partitioned/EndBucketCreationMessage.java | 4 +-
.../internal/cache/partitioned/GetMessage.java | 4 +-
.../cache/partitioned/IndexCreationMsg.java | 2 +-
.../cache/partitioned/InterestEventMessage.java | 4 +-
.../cache/partitioned/PRTombstoneMessage.java | 4 +-
.../wan/serial/SerialGatewaySenderQueue.java | 4 +-
.../statistics/AbstractStatisticsFactory.java | 16 +-
.../CustomEntryConcurrentHashMap.java | 80 ++---
.../management/internal/OpenTypeConverter.java | 3 +-
.../configuration/domain/CacheElement.java | 4 +-
.../internal/configuration/utils/XmlUtils.java | 6 +-
.../org/apache/geode/redis/internal/Coder.java | 31 +-
.../cache/query/internal/cq/CqConflatable.java | 2 +-
226 files changed, 17698 insertions(+), 16100 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
index ed0b82c..593375e 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
@@ -323,8 +323,8 @@ public abstract class AbstractOp implements Op {
* @throws Exception if response could not be processed or we received a response with a server
* exception.
*/
- protected void processChunkedResponse(ChunkedMessage msg, String opName,
- ChunkHandler callback) throws Exception {
+ protected void processChunkedResponse(ChunkedMessage msg, String opName, ChunkHandler callback)
+ throws Exception {
msg.readHeader();
final int msgType = msg.getMessageType();
if (msgType == MessageType.RESPONSE) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
index 1783e2f..4b6d83b 100755
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
@@ -539,7 +539,7 @@ public class ClientMetadataService {
}
}
- void getClientPRMetadata(LocalRegion region ) {
+ void getClientPRMetadata(LocalRegion region) {
final String regionFullPath = region.getFullPath();
ClientPartitionAdvisor advisor = null;
InternalPool pool = region.getServerProxy().getPool();
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/HashIndexSet.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/HashIndexSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/HashIndexSet.java
index d7304ea..361690a 100755
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/HashIndexSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/HashIndexSet.java
@@ -658,7 +658,7 @@ public class HashIndexSet implements Set {
/**
* After insert, allows for calculating metadata
*/
- protected final void postInsertHook(boolean usedFreeSlot) {
+ protected void postInsertHook(boolean usedFreeSlot) {
if (usedFreeSlot) {
hashIndexSetProperties.free--;
} else {
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
index 10c187c..4eb9888 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
@@ -732,7 +732,7 @@ public class DistributionAdvisor {
* @return the current membership version for this advisor
* @since GemFire 5.1
*/
- public final synchronized long startOperation() {
+ public synchronized long startOperation() {
if (logger.isTraceEnabled(LogMarker.DISTRIBUTION_STATE_FLUSH_OP)) {
logger.trace(LogMarker.DISTRIBUTION_STATE_FLUSH_OP,
"startOperation() op count is now {} in view version {}", currentVersionOpCount + 1,
@@ -1622,8 +1622,8 @@ public class DistributionAdvisor {
* @param removeProfile true to remove profile else add profile
* @param exchangeProfiles true to add the profile to reply
*/
- protected void handleDistributionAdvisee(DistributionAdvisee advisee,
- boolean removeProfile, boolean exchangeProfiles, final List<Profile> replyProfiles) {
+ protected void handleDistributionAdvisee(DistributionAdvisee advisee, boolean removeProfile,
+ boolean exchangeProfiles, final List<Profile> replyProfiles) {
final DistributionAdvisor da;
if (advisee != null && (da = advisee.getDistributionAdvisor()) != null) {
if (removeProfile) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessageObserver.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessageObserver.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessageObserver.java
index d48a689..f84bee9 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessageObserver.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessageObserver.java
@@ -30,8 +30,7 @@ public abstract class DistributionMessageObserver {
* @param instance
* @return the old observer, or null if there was no old observer.
*/
- public static DistributionMessageObserver setInstance(
- DistributionMessageObserver instance) {
+ public static DistributionMessageObserver setInstance(DistributionMessageObserver instance) {
DistributionMessageObserver oldInstance = DistributionMessageObserver.instance;
DistributionMessageObserver.instance = instance;
return oldInstance;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
index a8dec5d..97519e3 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
@@ -231,9 +231,8 @@ public class DirectChannel {
* @throws ConnectExceptions if message could not be send to its <code>destination</code>
* @throws NotSerializableException If the msg cannot be serialized
*/
- private int sendToOne(final MembershipManager mgr,
- InternalDistributedMember[] p_destinations, final DistributionMessage msg,
- long ackWaitThreshold, long ackSAThreshold)
+ private int sendToOne(final MembershipManager mgr, InternalDistributedMember[] p_destinations,
+ final DistributionMessage msg, long ackWaitThreshold, long ackSAThreshold)
throws ConnectExceptions, NotSerializableException {
return sendToMany(mgr, p_destinations, msg, ackWaitThreshold, ackSAThreshold);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/ByteBufferOutputStream.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/ByteBufferOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/ByteBufferOutputStream.java
index 10685ed..4773229 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/ByteBufferOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/ByteBufferOutputStream.java
@@ -62,7 +62,7 @@ public class ByteBufferOutputStream extends OutputStream {
/** override OutputStream's write() */
@Override
- public final void write(byte[] source, int offset, int len) {
+ public void write(byte[] source, int offset, int len) {
try {
// System.out.println("writing len="+len + " cap=" + buffer.capacity() + "
// pos="+buffer.position());
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
index 7042a85..ae28120 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
@@ -355,7 +355,7 @@ public class HeapDataOutputStream extends OutputStream
/**
* Prepare the contents for sending again
*/
- public final void rewind() {
+ public void rewind() {
finishWriting();
this.size = 0;
if (this.chunks != null) {
@@ -368,7 +368,7 @@ public class HeapDataOutputStream extends OutputStream
size += this.buffer.remaining();
}
- public void reset() {
+ public void reset() {
this.size = 0;
if (this.chunks != null) {
this.chunks.clear();
@@ -425,7 +425,7 @@ public class HeapDataOutputStream extends OutputStream
* gets the contents of this stream as s ByteBuffer, ready for reading. The stream should not be
* written to past this point until it has been reset.
*/
- public ByteBuffer toByteBuffer() {
+ public ByteBuffer toByteBuffer() {
finishWriting();
consolidateChunks();
return this.buffer;
@@ -435,7 +435,7 @@ public class HeapDataOutputStream extends OutputStream
* gets the contents of this stream as a byte[]. The stream should not be written to past this
* point until it has been reset.
*/
- public byte[] toByteArray() {
+ public byte[] toByteArray() {
ByteBuffer bb = toByteBuffer();
if (bb.hasArray() && bb.arrayOffset() == 0 && bb.limit() == bb.capacity()) {
return bb.array();
@@ -484,7 +484,7 @@ public class HeapDataOutputStream extends OutputStream
* @return the number of bytes written, possibly zero.
* @throws IOException if channel is closed, not yet connected, or some other I/O error occurs.
*/
- public int sendTo(SocketChannel chan) throws IOException {
+ public int sendTo(SocketChannel chan) throws IOException {
finishWriting();
if (size() == 0) {
return 0;
@@ -502,7 +502,7 @@ public class HeapDataOutputStream extends OutputStream
return result;
}
- public void sendTo(SocketChannel chan, ByteBuffer out) throws IOException {
+ public void sendTo(SocketChannel chan, ByteBuffer out) throws IOException {
finishWriting();
if (size() == 0) {
return;
@@ -521,8 +521,7 @@ public class HeapDataOutputStream extends OutputStream
* sends the data from "in" by writing it to "sc" through "out" (out is used to chunk to data and
* is probably a direct memory buffer).
*/
- private void sendChunkTo(ByteBuffer in, SocketChannel sc, ByteBuffer out)
- throws IOException {
+ private void sendChunkTo(ByteBuffer in, SocketChannel sc, ByteBuffer out) throws IOException {
int bytesSent = in.remaining();
if (in.isDirect()) {
flushBuffer(sc, out);
@@ -570,7 +569,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @throws BufferOverflowException if out is not large enough to contain all of our data.
*/
- public void sendTo(ByteBuffer out) {
+ public void sendTo(ByteBuffer out) {
finishWriting();
if (out.remaining() < size()) {
throw new BufferOverflowException();
@@ -597,7 +596,7 @@ public class HeapDataOutputStream extends OutputStream
/**
* Write the contents of this stream to the specified stream using outBuf if a buffer is needed.
*/
- public void sendTo(OutputStream out, ByteBuffer outBuf) throws IOException {
+ public void sendTo(OutputStream out, ByteBuffer outBuf) throws IOException {
finishWriting();
if (this.chunks != null) {
for (ByteBuffer bb : this.chunks) {
@@ -655,7 +654,7 @@ public class HeapDataOutputStream extends OutputStream
/**
* Write the contents of this stream to the specified stream.
*/
- public void sendTo(ByteBufferWriter out) {
+ public void sendTo(ByteBufferWriter out) {
finishWriting();
if (this.chunks != null) {
for (ByteBuffer bb : this.chunks) {
@@ -677,7 +676,7 @@ public class HeapDataOutputStream extends OutputStream
* Returns an input stream that can be used to read the contents that where written to this output
* stream.
*/
- public InputStream getInputStream() {
+ public InputStream getInputStream() {
return new HDInputStream();
}
@@ -802,7 +801,7 @@ public class HeapDataOutputStream extends OutputStream
* Note this implementation is exactly the same as writeTo(OutputStream) but they do not both
* implement a common interface.
*/
- public void sendTo(DataOutput out) throws IOException {
+ public void sendTo(DataOutput out) throws IOException {
finishWriting();
if (this.chunks != null) {
for (ByteBuffer bb : this.chunks) {
@@ -847,7 +846,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the boolean to be written.
*/
- public void writeBoolean(boolean v) {
+ public void writeBoolean(boolean v) {
write(v ? 1 : 0);
}
@@ -860,7 +859,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the byte value to be written.
*/
- public void writeByte(int v) {
+ public void writeByte(int v) {
write(v);
}
@@ -882,7 +881,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>short</code> value to be written.
*/
- public void writeShort(int v) {
+ public void writeShort(int v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -908,7 +907,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>char</code> value to be written.
*/
- public void writeChar(int v) {
+ public void writeChar(int v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -935,7 +934,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>int</code> value to be written.
*/
- public void writeInt(int v) {
+ public void writeInt(int v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -966,7 +965,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>long</code> value to be written.
*/
- public void writeLong(long v) {
+ public void writeLong(long v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -980,7 +979,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @return the LongUpdater that allows the long to be updated
*/
- public LongUpdater reserveLong() {
+ public LongUpdater reserveLong() {
if (this.ignoreWrites)
return null;
checkIfWritable();
@@ -1014,7 +1013,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>float</code> value to be written.
*/
- public void writeFloat(float v) {
+ public void writeFloat(float v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -1032,7 +1031,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>double</code> value to be written.
*/
- public void writeDouble(double v) {
+ public void writeDouble(double v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -1053,7 +1052,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param str the string of bytes to be written.
*/
- public void writeBytes(String str) {
+ public void writeBytes(String str) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -1087,7 +1086,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param s the string value to be written.
*/
- public void writeChars(String s) {
+ public void writeChars(String s) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -1157,7 +1156,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param str the string value to be written.
*/
- public void writeUTF(String str) throws UTFDataFormatException {
+ public void writeUTF(String str) throws UTFDataFormatException {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -1168,7 +1167,7 @@ public class HeapDataOutputStream extends OutputStream
}
}
- private void writeAsciiUTF(String str, boolean encodeLength) throws UTFDataFormatException {
+ private void writeAsciiUTF(String str, boolean encodeLength) throws UTFDataFormatException {
int strlen = str.length();
if (encodeLength && strlen > 65535) {
throw new UTFDataFormatException();
@@ -1203,7 +1202,7 @@ public class HeapDataOutputStream extends OutputStream
* The reader code should use the logic similar to DataOutputStream.readUTF() from the version
* 1.6.0_10 to decode this properly.
*/
- private void writeFullUTF(String str, boolean encodeLength) throws UTFDataFormatException {
+ private void writeFullUTF(String str, boolean encodeLength) throws UTFDataFormatException {
int strlen = str.length();
if (encodeLength && strlen > 65535) {
throw new UTFDataFormatException();
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/NullDataOutputStream.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/NullDataOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/NullDataOutputStream.java
index 2f0931d..0945a10 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/NullDataOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/NullDataOutputStream.java
@@ -304,7 +304,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param str the string value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeUTF(String str) throws IOException {
+ public void writeUTF(String str) throws IOException {
int strlen = str.length();
if (strlen > 65535) {
throw new UTFDataFormatException();
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionMap.java
index e5e21ef..bcaa0d0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionMap.java
@@ -860,7 +860,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
}
@Override
- final boolean confirmEvictionDestroy(RegionEntry re) {
+ boolean confirmEvictionDestroy(RegionEntry re) {
// We assume here that a LRURegionMap contains LRUEntries
LRUEntry lruRe = (LRUEntry) re;
if (lruRe.isInUseByTransaction() || lruRe.isDestroyed()) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
index 2a337ed..5dcf3bc 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
@@ -286,8 +286,8 @@ public abstract class AbstractRegionMap implements RegionMap {
}
}
- public void removeEntry(Object key, RegionEntry re, boolean updateStat,
- EntryEventImpl event, final LocalRegion owner) {
+ public void removeEntry(Object key, RegionEntry re, boolean updateStat, EntryEventImpl event,
+ final LocalRegion owner) {
boolean success = false;
if (re.isTombstone() && _getMap().get(key) == re) {
logger.fatal(
@@ -1858,8 +1858,8 @@ public abstract class AbstractRegionMap implements RegionMap {
}
}
- public boolean invalidate(EntryEventImpl event, boolean invokeCallbacks,
- boolean forceNewEntry, boolean forceCallbacks) throws EntryNotFoundException {
+ public boolean invalidate(EntryEventImpl event, boolean invokeCallbacks, boolean forceNewEntry,
+ boolean forceCallbacks) throws EntryNotFoundException {
final boolean isDebugEnabled = logger.isDebugEnabled();
final LocalRegion owner = _getOwner();
@@ -2344,11 +2344,11 @@ public abstract class AbstractRegionMap implements RegionMap {
}
}
- public void txApplyInvalidate(Object key, Object newValue, boolean didDestroy,
- TransactionId txId, TXRmtEvent txEvent, boolean localOp, EventID eventId,
- Object aCallbackArgument, List<EntryEventImpl> pendingCallbacks,
- FilterRoutingInfo filterRoutingInfo, ClientProxyMembershipID bridgeContext,
- TXEntryState txEntryState, VersionTag versionTag, long tailKey) {
+ public void txApplyInvalidate(Object key, Object newValue, boolean didDestroy, TransactionId txId,
+ TXRmtEvent txEvent, boolean localOp, EventID eventId, Object aCallbackArgument,
+ List<EntryEventImpl> pendingCallbacks, FilterRoutingInfo filterRoutingInfo,
+ ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag,
+ long tailKey) {
// boolean didInvalidate = false;
final LocalRegion owner = _getOwner();
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
index 37974ab..886d678 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
@@ -1049,7 +1049,7 @@ public class BucketRegion extends DistributedRegion implements Bucket {
&& EvictionAction.LOCAL_DESTROY.equals(getEvictionAttributes().getAction());
}
- protected final void processPendingSecondaryExpires() {
+ protected void processPendingSecondaryExpires() {
ExpiryTask[] tasks;
while (true) {
// note we just keep looping until no more pendingExpires exist
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskRegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DiskRegion.java
index 36dc309..7624399 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DiskRegion.java
@@ -332,7 +332,7 @@ public class DiskRegion extends AbstractDiskRegion {
});
}
- public final boolean isOverflowEnabled() {
+ public boolean isOverflowEnabled() {
return this.overflowEnabled;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
index 7eb7697..185fde7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
@@ -2173,12 +2173,12 @@ public class EntryEventImpl
| FLAG_INHIBIT_LISTENER_NOTIFICATION | FLAG_SERIALIZATION_DEFERRED | FLAG_FROM_SERVER
| FLAG_FROM_RI_LOCAL_DESTROY | FLAG_INHIBIT_DISTRIBUTION | FLAG_REDESTROYED_TOMBSTONE);
- protected static final boolean isSet(short flags, short mask) {
+ protected static boolean isSet(short flags, short mask) {
return (flags & mask) != 0;
}
/** WARNING: Does not set the bit in place, returns new short with bit set */
- protected static final short set(short flags, short mask, boolean on) {
+ protected static short set(short flags, short mask, boolean on) {
return (short) (on ? (flags | mask) : (flags & ~mask));
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/HARegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/HARegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/HARegion.java
index f9b1009..4cf8f41 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/HARegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/HARegion.java
@@ -291,7 +291,7 @@ public class HARegion extends DistributedRegion {
}
@Override
- final protected boolean shouldNotifyBridgeClients() {
+ protected boolean shouldNotifyBridgeClients() {
return false;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/PersistentOplogSet.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PersistentOplogSet.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PersistentOplogSet.java
index e475d08..c37eaa7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PersistentOplogSet.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PersistentOplogSet.java
@@ -335,7 +335,7 @@ public class PersistentOplogSet implements OplogSet {
}
}
- public final void recoverRegionsThatAreReady() {
+ public void recoverRegionsThatAreReady() {
// The following sync also prevents concurrent recoveries by multiple regions
// which is needed currently.
synchronized (this.alreadyRecoveredOnce) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteGetMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteGetMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteGetMessage.java
index 11afc74..2837be4 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteGetMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteGetMessage.java
@@ -94,8 +94,8 @@ public class RemoteGetMessage extends RemoteOperationMessageWithDirectReply {
}
@Override
- protected final boolean operateOnRegion(final DistributionManager dm, LocalRegion r,
- long startTime) throws RemoteOperationException {
+ protected boolean operateOnRegion(final DistributionManager dm, LocalRegion r, long startTime)
+ throws RemoteOperationException {
if (logger.isTraceEnabled(LogMarker.DM)) {
logger.trace(LogMarker.DM, "RemoteGetMessage operateOnRegion: {}", r.getFullPath());
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
index a170aef..0e9f8c5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
@@ -344,9 +344,8 @@ public class RemotePutAllMessage extends RemoteOperationMessageWithDirectReply {
* lastModified timestamp for last modification
* @return If succeeds, return true, otherwise, throw exception
*/
- public boolean doLocalPutAll(final LocalRegion r,
- final InternalDistributedMember eventSender, long lastModified)
- throws EntryExistsException, RemoteOperationException {
+ public boolean doLocalPutAll(final LocalRegion r, final InternalDistributedMember eventSender,
+ long lastModified) throws EntryExistsException, RemoteOperationException {
final DistributedRegion dr = (DistributedRegion) r;
// create a base event and a DPAO for PutAllMessage distributed btw redundant buckets
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
index 9b57b3f..d4d4c26 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
@@ -333,8 +333,7 @@ public class RemoteRemoveAllMessage extends RemoteOperationMessageWithDirectRepl
* @param eventSender the endpoint server who received request from client
* @return If succeeds, return true, otherwise, throw exception
*/
- public boolean doLocalRemoveAll(final LocalRegion r,
- final InternalDistributedMember eventSender)
+ public boolean doLocalRemoveAll(final LocalRegion r, final InternalDistributedMember eventSender)
throws EntryExistsException, RemoteOperationException {
final DistributedRegion dr = (DistributedRegion) r;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java
index f179ab6..c14438d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java
@@ -18,25 +18,16 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VMStatsDiskLRURegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -69,40 +60,41 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -111,24 +103,29 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -138,13 +135,13 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -155,10 +152,11 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -166,12 +164,12 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -181,58 +179,60 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -244,36 +244,44 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -283,33 +291,38 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -318,7 +331,7 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -329,51 +342,59 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapIntKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -381,30 +402,27 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -412,7 +430,7 @@ public class VMStatsDiskLRURegionEntryHeapIntKey extends VMStatsDiskLRURegionEnt
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java
index 67bf7d4..a41f02b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java
@@ -18,25 +18,16 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VMStatsDiskLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -69,42 +60,41 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -113,24 +103,29 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -140,13 +135,13 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -157,10 +152,11 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -168,12 +164,12 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -183,58 +179,60 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -246,36 +244,44 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -285,33 +291,38 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -320,7 +331,7 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -331,51 +342,59 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapLongKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -383,23 +402,25 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -407,7 +428,7 @@ public class VMStatsDiskLRURegionEntryHeapLongKey extends VMStatsDiskLRURegionEn
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[07/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java
index 1652cb3..9956c62 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java
@@ -15,65 +15,101 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
- extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -86,41 +122,39 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey2.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -128,13 +162,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -148,60 +187,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -212,22 +251,23 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -237,155 +277,146 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -397,15 +428,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -413,17 +445,17 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -435,11 +467,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -448,6 +480,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -457,9 +490,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -474,39 +507,39 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -516,10 +549,10 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -530,16 +563,17 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -553,7 +587,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -572,5 +606,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java
index 1f28498..c791c9d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java
@@ -15,85 +15,126 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
- extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapUUIDKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapUUIDKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -101,13 +142,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -121,60 +167,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -185,22 +231,23 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -210,155 +257,146 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -370,15 +408,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -386,17 +425,17 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -408,11 +447,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -421,6 +460,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -430,9 +470,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -447,22 +487,23 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -472,5 +513,8 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java
index 96e97f1..3c75425 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java
@@ -15,57 +15,98 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedThinDiskRegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapIntKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -74,53 +115,52 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -130,57 +170,62 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -192,15 +237,16 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -208,17 +254,17 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -230,11 +276,11 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -243,6 +289,7 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -252,9 +299,9 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -269,21 +316,29 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -291,5 +346,8 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java
index 5d3199c..230a6dc 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java
@@ -15,58 +15,100 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapLongKey(RegionEntryContext context, long key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedThinDiskRegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapLongKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -75,53 +117,52 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -131,57 +172,62 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -193,15 +239,16 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -209,17 +256,17 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -231,11 +278,11 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -244,6 +291,7 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -253,9 +301,9 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -270,21 +318,22 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -292,5 +341,8 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java
index 8eb828b..786b69c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java
@@ -15,58 +15,96 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedThinDiskRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapObjectKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -75,53 +113,52 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -131,57 +168,62 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -193,15 +235,16 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -209,17 +252,17 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -231,11 +274,11 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -244,6 +287,7 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -253,9 +297,9 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -270,19 +314,24 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[70/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java
index 410cade..6671d74 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java
@@ -18,9 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -48,7 +45,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VMStatsRegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -56,40 +53,39 @@ public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -98,24 +94,29 @@ public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -123,12 +124,10 @@ public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -139,51 +138,59 @@ public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -191,30 +198,27 @@ public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -222,7 +226,7 @@ public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java
index 27b8c19..1ce3cc1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java
@@ -18,9 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -48,7 +45,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VMStatsRegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -56,42 +53,39 @@ public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -100,24 +94,29 @@ public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -125,12 +124,10 @@ public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -141,51 +138,59 @@ public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -193,23 +198,25 @@ public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -217,7 +224,7 @@ public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java
index 68a7ccf..7bb1a29 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java
@@ -18,9 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -48,7 +45,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapObjectKey extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VMStatsRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -56,38 +53,39 @@ public class VMStatsRegionEntryHeapObjectKey extends VMStatsRegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -96,24 +94,29 @@ public class VMStatsRegionEntryHeapObjectKey extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -121,12 +124,10 @@ public class VMStatsRegionEntryHeapObjectKey extends VMStatsRegionEntryHeap {
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -137,51 +138,59 @@ public class VMStatsRegionEntryHeapObjectKey extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -189,19 +198,20 @@ public class VMStatsRegionEntryHeapObjectKey extends VMStatsRegionEntryHeap {
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java
index e622e4e..c4d8601 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java
@@ -18,9 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -48,7 +45,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VMStatsRegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -56,27 +53,28 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -87,20 +85,22 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -109,24 +109,29 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -134,12 +139,10 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -150,51 +153,59 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -202,39 +213,42 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -243,16 +257,16 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -260,7 +274,7 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -273,7 +287,7 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java
index 678d0d1..c503d17 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java
@@ -18,9 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -48,7 +45,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VMStatsRegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -56,33 +53,34 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -99,20 +97,22 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -121,24 +121,29 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -146,12 +151,10 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -162,51 +165,59 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -214,16 +225,16 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -232,14 +243,17 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -247,7 +261,7 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -257,10 +271,10 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -271,17 +285,17 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -295,7 +309,7 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java
index 9fccf64..1eb556e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java
@@ -20,7 +20,6 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -48,7 +47,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMStatsRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -56,14 +55,14 @@ public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -72,20 +71,22 @@ public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -94,24 +95,29 @@ public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -119,12 +125,10 @@ public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -135,51 +139,59 @@ public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -187,24 +199,26 @@ public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -214,7 +228,7 @@ public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java
index fe6d1f7..52a6a75 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java
@@ -18,9 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -53,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VMStatsRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -61,55 +58,55 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -125,6 +122,7 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -142,7 +140,7 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -150,36 +148,41 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -187,12 +190,10 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -203,51 +204,59 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -255,30 +264,27 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -286,7 +292,7 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java
index 9b9f22a..bd8ff31 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java
@@ -18,9 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -53,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VMStatsRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -61,57 +58,55 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -127,6 +122,7 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -144,7 +140,7 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -152,36 +148,41 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -189,12 +190,10 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -205,51 +204,59 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -257,23 +264,25 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -281,7 +290,7 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java
index 4e5b762..647f663 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java
@@ -18,9 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -53,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+ public VMStatsRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -61,53 +58,55 @@ public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHea
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -123,6 +122,7 @@ public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHea
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -140,7 +140,7 @@ public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHea
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -148,36 +148,41 @@ public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHea
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -185,12 +190,10 @@ public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHea
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -201,51 +204,59 @@ public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHea
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -253,19 +264,20 @@ public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHea
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java
index cad4fee..c73df3a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java
@@ -18,9 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -53,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+ public VMStatsRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -61,27 +58,28 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -92,35 +90,38 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -136,6 +137,7 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -153,7 +155,7 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -161,36 +163,41 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -198,12 +205,10 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -214,51 +219,59 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -266,39 +279,42 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -307,16 +323,16 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -324,7 +340,7 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -337,7 +353,7 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[53/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java
index 2f8efb5..dbccb16 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java
@@ -18,35 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+ public VersionedStatsRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -81,33 +65,34 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -124,35 +109,40 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -168,6 +158,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -185,7 +176,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -193,36 +184,41 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -230,12 +226,10 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -246,51 +240,61 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -298,15 +302,16 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -318,16 +323,16 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -335,17 +340,18 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -357,11 +363,11 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -370,7 +376,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -380,9 +386,9 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -397,15 +403,15 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -414,14 +420,17 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -429,7 +438,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -439,10 +448,10 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -453,17 +462,17 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -477,7 +486,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java
index 4197db0..f367421 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java
@@ -20,33 +20,19 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +59,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VersionedStatsRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -81,14 +67,14 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -97,35 +83,39 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -141,6 +131,7 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -158,7 +149,7 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -166,36 +157,41 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -203,12 +199,10 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -219,51 +213,61 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -271,15 +275,16 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -291,16 +296,16 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -308,17 +313,18 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -330,11 +336,11 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -343,7 +349,7 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -353,9 +359,9 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -370,23 +376,25 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -396,7 +404,7 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java
index 3dc2856..76fbcae 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java
@@ -18,40 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VersionedThinDiskLRURegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -81,40 +65,42 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapIntKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -123,24 +109,29 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -150,13 +141,13 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -167,10 +158,11 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -178,12 +170,12 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -193,58 +185,60 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -256,36 +250,44 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -295,33 +297,38 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -329,10 +336,8 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -344,16 +349,16 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -361,17 +366,18 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -383,11 +389,11 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -396,7 +402,7 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -406,9 +412,9 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -423,29 +429,26 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -453,7 +456,7 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java
index e6cfc3d..5c2af53 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java
@@ -18,40 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +56,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+public class VersionedThinDiskLRURegionEntryHeapLongKey
+ extends VersionedThinDiskLRURegionEntryHeap {
+ public VersionedThinDiskLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -81,42 +66,42 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapLongKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -125,24 +110,29 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -152,13 +142,13 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -169,10 +159,11 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -180,12 +171,12 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -195,58 +186,60 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -258,36 +251,44 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -297,33 +298,38 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -331,10 +337,8 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -346,16 +350,16 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -363,17 +367,18 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -385,11 +390,11 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -398,7 +403,7 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -408,9 +413,9 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -425,22 +430,24 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -448,7 +455,7 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDis
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java
index a5080a6..b04e28e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java
@@ -18,40 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +56,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+public class VersionedThinDiskLRURegionEntryHeapObjectKey
+ extends VersionedThinDiskLRURegionEntryHeap {
+ public VersionedThinDiskLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -81,14 +66,14 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -99,20 +84,23 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapObjectKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -121,24 +109,29 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -148,13 +141,13 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -165,10 +158,11 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -176,12 +170,12 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -191,58 +185,60 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -254,36 +250,44 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -293,27 +297,33 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -322,15 +332,12 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
-
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -342,16 +349,16 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -359,17 +366,18 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -381,11 +389,11 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -394,7 +402,7 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -404,9 +412,9 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -421,18 +429,19 @@ public class VersionedThinDiskLRURegionEntryHeapObjectKey extends VersionedThinD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
[35/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java
index 53c24e7..671ce0e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java
@@ -15,77 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -93,13 +139,18 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -113,60 +164,60 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -177,22 +228,23 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -202,158 +254,147 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -361,81 +402,75 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -443,5 +478,8 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java
index 816c0aa..c02cd46 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java
@@ -15,78 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -94,13 +135,18 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -114,60 +160,60 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -178,22 +224,23 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -203,158 +250,147 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -362,79 +398,77 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java
index 74facf4..ce76901 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java
@@ -15,95 +15,134 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -111,13 +150,18 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -131,60 +175,60 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -195,22 +239,23 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -220,158 +265,147 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -379,98 +413,91 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -479,15 +506,16 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -495,7 +523,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -508,5 +536,8 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java
index 653e4a5..787987e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java
@@ -15,60 +15,101 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -81,41 +122,39 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -123,13 +162,18 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -143,60 +187,60 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -207,22 +251,23 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -232,158 +277,147 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -391,99 +425,92 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -493,10 +520,10 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -507,16 +534,17 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -530,7 +558,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -549,5 +577,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[19/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java
index b9d60c5..3b4aeba 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java
@@ -15,84 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
- extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryOffHeapLongKey extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -100,13 +139,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -120,60 +164,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -184,22 +228,23 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -209,158 +254,147 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -368,73 +402,67 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -446,15 +474,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -462,17 +491,17 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -484,11 +513,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -497,6 +526,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -506,9 +536,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -523,21 +553,22 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -545,5 +576,8 @@ public class VersionedStatsDiskLRURegionEntryOffHeapLongKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java
index 63098fa..18f92a1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java
@@ -15,84 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
- extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -100,13 +135,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -120,60 +160,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -184,22 +224,23 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -209,158 +250,147 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -368,73 +398,67 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -446,15 +470,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -462,17 +487,17 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -484,11 +509,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -497,6 +522,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -506,9 +532,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -523,19 +549,24 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java
index 45cbc49..1e97b22 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java
@@ -15,101 +15,134 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
- extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1 extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -117,13 +150,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -137,60 +175,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -201,22 +239,23 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -226,158 +265,147 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -385,73 +413,67 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -463,15 +485,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -479,17 +502,17 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -501,11 +524,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -514,6 +537,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -523,9 +547,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -540,38 +564,38 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -580,15 +604,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -596,7 +621,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -609,5 +634,8 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[45/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java
index d1ef8d0..8fcf400 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,7 +27,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -59,7 +53,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VersionedThinRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -67,55 +61,56 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapIntKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -131,6 +126,7 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -148,7 +144,7 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -156,36 +152,41 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -193,14 +194,10 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -212,16 +209,16 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -229,17 +226,18 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -251,11 +249,11 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -264,7 +262,7 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -274,9 +272,9 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -291,29 +289,26 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -321,7 +316,7 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java
index 3fa6651..1dfe8ec 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,7 +27,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -59,7 +53,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VersionedThinRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -67,57 +61,56 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapLongKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -133,6 +126,7 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -150,7 +144,7 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -158,36 +152,41 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -195,14 +194,10 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -214,16 +209,16 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -231,17 +226,18 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -253,11 +249,11 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -266,7 +262,7 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -276,9 +272,9 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -293,22 +289,24 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -316,7 +314,7 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java
index 0e47741..b35778d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,7 +27,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -59,7 +53,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+ public VersionedThinRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -67,53 +61,57 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapObjectKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -129,6 +127,7 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -146,7 +145,7 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -154,36 +153,41 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -191,14 +195,10 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -210,16 +210,16 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -227,17 +227,18 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -249,11 +250,11 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -262,7 +263,7 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -272,9 +273,9 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -289,18 +290,19 @@ public class VersionedThinRegionEntryOffHeapObjectKey extends VersionedThinRegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java
index 80d07e2..be895b2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,7 +27,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -59,7 +53,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+ public VersionedThinRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -67,27 +61,28 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -98,35 +93,40 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey1.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -142,6 +142,7 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -159,7 +160,7 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -167,36 +168,41 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -204,14 +210,10 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -223,16 +225,16 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -240,17 +242,18 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -262,11 +265,11 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -275,7 +278,7 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -285,9 +288,9 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -302,38 +305,41 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -342,16 +348,16 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -359,7 +365,7 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -372,7 +378,7 @@ public class VersionedThinRegionEntryOffHeapStringKey1 extends VersionedThinRegi
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java
index dbf7f1f..ab314ab 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,7 +27,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -59,7 +53,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+ public VersionedThinRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -67,33 +61,34 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -110,35 +105,40 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapStringKey2.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -154,6 +154,7 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -171,7 +172,7 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -179,36 +180,41 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -216,14 +222,10 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -235,16 +237,16 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -252,17 +254,18 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -274,11 +277,11 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -287,7 +290,7 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -297,9 +300,9 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -314,15 +317,15 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -331,14 +334,17 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -346,7 +352,7 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -356,10 +362,10 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -370,17 +376,17 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -394,7 +400,7 @@ public class VersionedThinRegionEntryOffHeapStringKey2 extends VersionedThinRegi
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java
index 0f255d9..c4a5c06 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java
@@ -20,9 +20,6 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,7 +29,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -59,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VersionedThinRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -67,14 +63,14 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -83,35 +79,39 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapUUIDKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -127,6 +127,7 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -144,7 +145,7 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -152,36 +153,41 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -189,14 +195,10 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -208,16 +210,16 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -225,17 +227,18 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -247,11 +250,11 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -260,7 +263,7 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -270,9 +273,9 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -287,23 +290,25 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -313,7 +318,7 @@ public class VersionedThinRegionEntryOffHeapUUIDKey extends VersionedThinRegionE
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/AbstractExecution.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/AbstractExecution.java b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/AbstractExecution.java
index af1d6f9..64b2284 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/AbstractExecution.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/AbstractExecution.java
@@ -116,8 +116,7 @@ public abstract class AbstractExecution implements InternalExecution {
public static final byte HA_HASRESULT_OPTIMIZEFORWRITE_REEXECUTE = 15;
- public static byte getFunctionState(boolean isHA, boolean hasResult,
- boolean optimizeForWrite) {
+ public static byte getFunctionState(boolean isHA, boolean hasResult, boolean optimizeForWrite) {
if (isHA) {
if (hasResult) {
if (optimizeForWrite) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BecomePrimaryBucketMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BecomePrimaryBucketMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BecomePrimaryBucketMessage.java
index e4fefbb..b5de2e8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BecomePrimaryBucketMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BecomePrimaryBucketMessage.java
@@ -113,8 +113,8 @@ public class BecomePrimaryBucketMessage extends PartitionMessage {
}
@Override
- protected boolean operateOnPartitionedRegion(DistributionManager dm,
- PartitionedRegion region, long startTime) throws ForceReattemptException {
+ protected boolean operateOnPartitionedRegion(DistributionManager dm, PartitionedRegion region,
+ long startTime) throws ForceReattemptException {
// this is executing in the WAITING_POOL_EXECUTOR
byte responseCode = BecomePrimaryBucketReplyMessage.NOT_SECONDARY;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/EndBucketCreationMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/EndBucketCreationMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/EndBucketCreationMessage.java
index 7e412c0..355c3b5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/EndBucketCreationMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/EndBucketCreationMessage.java
@@ -90,8 +90,8 @@ public class EndBucketCreationMessage extends PartitionMessage {
}
@Override
- protected boolean operateOnPartitionedRegion(DistributionManager dm,
- PartitionedRegion region, long startTime) throws ForceReattemptException {
+ protected boolean operateOnPartitionedRegion(DistributionManager dm, PartitionedRegion region,
+ long startTime) throws ForceReattemptException {
// this is executing in the WAITING_POOL_EXECUTOR
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java
index c121535..d0cd938 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java
@@ -145,8 +145,8 @@ public class GetMessage extends PartitionMessageWithDirectReply {
}
@Override
- protected final boolean operateOnPartitionedRegion(final DistributionManager dm,
- PartitionedRegion r, long startTime) throws ForceReattemptException {
+ protected boolean operateOnPartitionedRegion(final DistributionManager dm, PartitionedRegion r,
+ long startTime) throws ForceReattemptException {
if (logger.isTraceEnabled(LogMarker.DM)) {
logger.trace(LogMarker.DM, "GetMessage operateOnRegion: {}", r.getFullPath());
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
index 8ce3a47..dc76652 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
@@ -179,7 +179,7 @@ public class IndexCreationMsg extends PartitionMessage {
* Process this index creation message on the receiver.
*/
@Override
- public final void process(final DistributionManager dm) {
+ public void process(final DistributionManager dm) {
final boolean isDebugEnabled = logger.isDebugEnabled();
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/InterestEventMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/InterestEventMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/InterestEventMessage.java
index 7bccf5b..227c74e 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/InterestEventMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/InterestEventMessage.java
@@ -68,8 +68,8 @@ public class InterestEventMessage extends PartitionMessage {
}
@Override
- protected boolean operateOnPartitionedRegion(final DistributionManager dm,
- PartitionedRegion r, long startTime) throws ForceReattemptException {
+ protected boolean operateOnPartitionedRegion(final DistributionManager dm, PartitionedRegion r,
+ long startTime) throws ForceReattemptException {
if (logger.isTraceEnabled(LogMarker.DM)) {
logger.debug("InterestEventMessage operateOnPartitionedRegion: {}", r.getFullPath());
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
index 35e36b9..0e27621 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
@@ -93,8 +93,8 @@ public class PRTombstoneMessage extends PartitionMessageWithDirectReply
}
@Override
- protected boolean operateOnPartitionedRegion(final DistributionManager dm,
- PartitionedRegion r, long startTime) throws ForceReattemptException {
+ protected boolean operateOnPartitionedRegion(final DistributionManager dm, PartitionedRegion r,
+ long startTime) throws ForceReattemptException {
if (logger.isTraceEnabled(LogMarker.DM)) {
logger.debug("PRTombstoneMessage operateOnRegion: {}", r.getFullPath());
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueue.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueue.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueue.java
index 67f38f9..6fa17a4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueue.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueue.java
@@ -1201,12 +1201,12 @@ public class SerialGatewaySenderQueue implements RegionQueue {
}
@Override
- final public boolean isUsedForSerialGatewaySenderQueue() {
+ public boolean isUsedForSerialGatewaySenderQueue() {
return true;
}
@Override
- final public AbstractGatewaySender getSerialGatewaySender() {
+ public AbstractGatewaySender getSerialGatewaySender() {
return sender;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/statistics/AbstractStatisticsFactory.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/AbstractStatisticsFactory.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/AbstractStatisticsFactory.java
index 7a9fe8e..95e8308 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/AbstractStatisticsFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/AbstractStatisticsFactory.java
@@ -249,8 +249,7 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
* Creates or finds a StatisticType for the given shared class.
*/
@Override
- public StatisticsType createType(String name, String description,
- StatisticDescriptor[] stats) {
+ public StatisticsType createType(String name, String description, StatisticDescriptor[] stats) {
return tf.createType(name, description, stats);
}
@@ -270,14 +269,12 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
}
@Override
- public StatisticDescriptor createLongCounter(String name, String description,
- String units) {
+ public StatisticDescriptor createLongCounter(String name, String description, String units) {
return tf.createLongCounter(name, description, units);
}
@Override
- public StatisticDescriptor createDoubleCounter(String name, String description,
- String units) {
+ public StatisticDescriptor createDoubleCounter(String name, String description, String units) {
return tf.createDoubleCounter(name, description, units);
}
@@ -292,8 +289,7 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
}
@Override
- public StatisticDescriptor createDoubleGauge(String name, String description,
- String units) {
+ public StatisticDescriptor createDoubleGauge(String name, String description, String units) {
return tf.createDoubleGauge(name, description, units);
}
@@ -310,8 +306,8 @@ public abstract class AbstractStatisticsFactory implements StatisticsFactory, St
}
@Override
- public StatisticDescriptor createDoubleCounter(String name, String description,
- String units, boolean largerBetter) {
+ public StatisticDescriptor createDoubleCounter(String name, String description, String units,
+ boolean largerBetter) {
return tf.createDoubleCounter(name, description, units, largerBetter);
}
[66/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java
index 325e71e..9fc2d7e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java
@@ -18,19 +18,10 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -59,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VMThinDiskRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -67,55 +58,57 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapIntKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -131,6 +124,7 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -148,7 +142,7 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -156,36 +150,41 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -195,12 +194,13 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -208,12 +208,12 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -223,77 +223,71 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -301,7 +295,7 @@ public class VMThinDiskRegionEntryOffHeapIntKey extends VMThinDiskRegionEntryOff
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java
index d5a0673..beec34c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java
@@ -18,19 +18,10 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -59,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VMThinDiskRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -67,57 +58,57 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapLongKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -133,6 +124,7 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -150,7 +142,7 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -158,36 +150,41 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -197,12 +194,13 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -210,12 +208,12 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -225,70 +223,69 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -296,7 +293,7 @@ public class VMThinDiskRegionEntryOffHeapLongKey extends VMThinDiskRegionEntryOf
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java
index 7013d7b..e1a7ef0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java
@@ -18,19 +18,10 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -59,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+ public VMThinDiskRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -67,14 +58,14 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -85,35 +76,39 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -129,6 +124,7 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -146,7 +142,7 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -154,36 +150,41 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -193,12 +194,13 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -206,12 +208,12 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -221,66 +223,64 @@ public class VMThinDiskRegionEntryOffHeapObjectKey extends VMThinDiskRegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java
index 7689a6f..b5d4334 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java
@@ -18,19 +18,10 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -59,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+ public VMThinDiskRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -67,14 +58,14 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -82,14 +73,15 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -100,35 +92,39 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -144,6 +140,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -161,7 +158,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -169,36 +166,41 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -208,12 +210,13 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -221,12 +224,12 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -236,86 +239,86 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -324,16 +327,16 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -341,7 +344,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -354,7 +357,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey1 extends VMThinDiskRegionEntr
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java
index cb231cb..4a3b762 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java
@@ -18,19 +18,10 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -59,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+ public VMThinDiskRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -67,14 +58,14 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -83,19 +74,20 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -112,35 +104,39 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -156,6 +152,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -173,7 +170,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -181,36 +178,41 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -220,12 +222,13 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -233,12 +236,12 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -248,63 +251,60 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -313,14 +313,17 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -328,7 +331,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -338,10 +341,10 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -352,17 +355,17 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -376,7 +379,7 @@ public class VMThinDiskRegionEntryOffHeapStringKey2 extends VMThinDiskRegionEntr
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java
index 1548e5c..6fa3329 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java
@@ -20,17 +20,10 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -59,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOffHeap {
- public VMThinDiskRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMThinDiskRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -67,60 +60,58 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -136,6 +127,7 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -153,7 +145,7 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -161,36 +153,41 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -200,12 +197,13 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -213,12 +211,12 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -228,71 +226,70 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -302,7 +299,7 @@ public class VMThinDiskRegionEntryOffHeapUUIDKey extends VMThinDiskRegionEntryOf
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java
index e646978..30e4834 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java
@@ -18,25 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapIntKey extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VMThinLRURegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -69,40 +56,39 @@ public class VMThinLRURegionEntryHeapIntKey extends VMThinLRURegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapIntKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -111,24 +97,29 @@ public class VMThinLRURegionEntryHeapIntKey extends VMThinLRURegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -136,51 +127,57 @@ public class VMThinLRURegionEntryHeapIntKey extends VMThinLRURegionEntryHeap {
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -190,33 +187,38 @@ public class VMThinLRURegionEntryHeapIntKey extends VMThinLRURegionEntryHeap {
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -224,25 +226,19 @@ public class VMThinLRURegionEntryHeapIntKey extends VMThinLRURegionEntryHeap {
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
-
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -250,7 +246,7 @@ public class VMThinLRURegionEntryHeapIntKey extends VMThinLRURegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java
index c980114..263ff19 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java
@@ -18,25 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapLongKey extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VMThinLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -69,42 +56,39 @@ public class VMThinLRURegionEntryHeapLongKey extends VMThinLRURegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapLongKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -113,24 +97,29 @@ public class VMThinLRURegionEntryHeapLongKey extends VMThinLRURegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -138,51 +127,57 @@ public class VMThinLRURegionEntryHeapLongKey extends VMThinLRURegionEntryHeap {
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -192,33 +187,38 @@ public class VMThinLRURegionEntryHeapLongKey extends VMThinLRURegionEntryHeap {
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -226,18 +226,17 @@ public class VMThinLRURegionEntryHeapLongKey extends VMThinLRURegionEntryHeap {
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -245,7 +244,7 @@ public class VMThinLRURegionEntryHeapLongKey extends VMThinLRURegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[68/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java
index 29bc853..8f069e5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java
@@ -20,23 +20,14 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMThinDiskLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -69,45 +60,42 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -116,24 +104,29 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -143,13 +136,13 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -160,10 +153,11 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -171,12 +165,12 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -186,58 +180,60 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -249,36 +245,44 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -288,33 +292,38 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -322,19 +331,18 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -344,7 +352,7 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java
index 932ef18..64958dd 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java
@@ -18,35 +18,17 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VMThinDiskLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -81,55 +63,58 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapIntKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -145,6 +130,7 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -162,7 +148,7 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -170,36 +156,41 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -209,13 +200,13 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -226,10 +217,11 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -237,12 +229,12 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -252,58 +244,60 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -315,36 +309,44 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -354,33 +356,38 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -388,25 +395,19 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
-
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -414,7 +415,7 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java
index 75e5757..f8f0e34 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java
@@ -18,35 +18,17 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VMThinDiskLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -81,57 +63,58 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapLongKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +130,7 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +148,7 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +156,41 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -211,13 +200,13 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -228,10 +217,11 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -239,12 +229,12 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -254,58 +244,60 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -317,36 +309,44 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -356,33 +356,38 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -390,18 +395,17 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -409,7 +413,7 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java
index ae08152..8899faa 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java
@@ -18,35 +18,17 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+ public VMThinDiskLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -81,14 +63,14 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -99,35 +81,40 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapObjectKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -143,6 +130,7 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -160,7 +148,7 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -168,36 +156,41 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -207,13 +200,13 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -224,10 +217,11 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -235,12 +229,12 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -250,58 +244,60 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -313,36 +309,44 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -352,27 +356,33 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -381,19 +391,16 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
-
}
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java
index 8240acb..7712cee 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java
@@ -18,35 +18,17 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+ public VMThinDiskLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -81,14 +63,14 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -96,14 +78,15 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -114,35 +97,40 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey1.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -158,6 +146,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -175,7 +164,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -183,36 +172,41 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -222,13 +216,13 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -239,10 +233,11 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -250,12 +245,12 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -265,58 +260,60 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -328,36 +325,44 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -367,33 +372,38 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -401,34 +411,34 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -437,16 +447,16 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -454,7 +464,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -467,7 +477,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[16/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java
index eb4160b..f3276ae 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java
@@ -15,82 +15,121 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapIntKey
- extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskRegionEntryOffHeapIntKey extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -98,13 +137,18 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -118,71 +162,72 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -192,60 +237,63 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -253,73 +301,67 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -331,15 +373,16 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -347,17 +390,17 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -369,11 +412,11 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -382,6 +425,7 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -391,9 +435,9 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -408,21 +452,29 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -430,5 +482,8 @@ public class VersionedStatsDiskRegionEntryOffHeapIntKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java
index 87211a7..9e9b92e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java
@@ -15,82 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapLongKey
- extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskRegionEntryOffHeapLongKey extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -98,13 +139,18 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -118,71 +164,72 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -192,60 +239,63 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -253,73 +303,67 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -331,15 +375,16 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -347,17 +392,17 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -369,11 +414,11 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -382,6 +427,7 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -391,9 +437,9 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -408,21 +454,22 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -430,5 +477,8 @@ public class VersionedStatsDiskRegionEntryOffHeapLongKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java
index db76b43..1e08e5b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java
@@ -15,82 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapObjectKey
- extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskRegionEntryOffHeapObjectKey extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -98,13 +135,18 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -118,71 +160,72 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -192,60 +235,63 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -253,73 +299,67 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -331,15 +371,16 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -347,17 +388,17 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -369,11 +410,11 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -382,6 +423,7 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -391,9 +433,9 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -408,19 +450,24 @@ public class VersionedStatsDiskRegionEntryOffHeapObjectKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java
index 981689d..90fe440 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java
@@ -15,99 +15,134 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapStringKey1
- extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -115,13 +150,18 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -135,71 +175,72 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -209,60 +250,63 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -270,73 +314,67 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -348,15 +386,16 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -364,17 +403,17 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -386,11 +425,11 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -399,6 +438,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -408,9 +448,9 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -425,38 +465,38 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -465,15 +505,16 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -481,7 +522,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -494,5 +535,8 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[71/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java
index 3d51a7a..d01167b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java
@@ -18,35 +18,17 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VMStatsLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -81,55 +63,55 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -145,6 +127,7 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -162,7 +145,7 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -170,36 +153,41 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -207,51 +195,57 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -261,33 +255,38 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -296,7 +295,7 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -307,51 +306,59 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapIntKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -359,30 +366,27 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -390,7 +394,7 @@ public class VMStatsLRURegionEntryOffHeapIntKey extends VMStatsLRURegionEntryOff
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java
index 31a2165..51747da 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java
@@ -18,35 +18,17 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VMStatsLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -81,57 +63,55 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +127,7 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +145,7 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +153,41 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -209,51 +195,57 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -263,33 +255,38 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -298,7 +295,7 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -309,51 +306,59 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapLongKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -361,23 +366,25 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -385,7 +392,7 @@ public class VMStatsLRURegionEntryOffHeapLongKey extends VMStatsLRURegionEntryOf
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java
index 755daf7..1c96722 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java
@@ -18,35 +18,17 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+ public VMStatsLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -81,53 +63,56 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -143,6 +128,7 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -160,7 +146,7 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -168,36 +154,41 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -205,51 +196,57 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -259,27 +256,33 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -288,13 +291,12 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
-
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -305,51 +307,60 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -357,19 +368,20 @@ public class VMStatsLRURegionEntryOffHeapObjectKey extends VMStatsLRURegionEntry
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java
index 3d51811..21d16a6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java
@@ -18,35 +18,17 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+ public VMStatsLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -81,27 +63,28 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -112,35 +95,39 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -156,6 +143,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -173,7 +161,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -181,36 +169,41 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -218,51 +211,57 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -272,33 +271,38 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -307,7 +311,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -318,51 +322,61 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -370,39 +384,42 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -411,16 +428,16 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -428,7 +445,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -441,7 +458,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java
index 6335b9d..54818ae 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java
@@ -18,35 +18,17 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+ public VMStatsLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -81,33 +63,34 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -124,35 +107,39 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -168,6 +155,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -185,7 +173,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -193,36 +181,41 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -230,51 +223,57 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -284,33 +283,38 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -319,7 +323,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -330,51 +334,61 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -382,16 +396,16 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -400,14 +414,17 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -415,7 +432,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -425,10 +442,10 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -439,17 +456,17 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -463,7 +480,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java
index d43aea1..1a50d0f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java
@@ -20,33 +20,17 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMStatsLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -81,14 +65,14 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -97,35 +81,38 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -141,6 +128,7 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -158,7 +146,7 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -166,36 +154,41 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -203,51 +196,57 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -257,33 +256,38 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -292,7 +296,7 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -303,51 +307,59 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -355,24 +367,26 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -382,7 +396,7 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[49/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java
index ff8a624..bf9380c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java
@@ -20,17 +20,12 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,12 +33,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -65,7 +54,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VersionedThinDiskRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -73,45 +62,43 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapUUIDKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -120,24 +107,29 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -147,12 +139,13 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -160,12 +153,12 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -175,62 +168,60 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -242,16 +233,16 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -259,17 +250,18 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -281,11 +273,11 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -294,7 +286,7 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -304,9 +296,9 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -321,23 +313,25 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -347,7 +341,7 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java
index b7eaccc..cdfd226 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java
@@ -18,19 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,7 +31,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -65,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VersionedThinDiskRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -73,55 +65,59 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapIntKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapIntKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -137,6 +133,7 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -154,7 +151,7 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -162,36 +159,41 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -201,12 +203,13 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -214,12 +217,12 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -229,62 +232,60 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -296,16 +297,16 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -313,17 +314,18 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -335,11 +337,11 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -348,7 +350,7 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -358,9 +360,9 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -375,29 +377,26 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -405,7 +404,7 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java
index b1c31ed..7ef2d5f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java
@@ -18,19 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,7 +31,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -64,8 +56,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+public class VersionedThinDiskRegionEntryOffHeapLongKey
+ extends VersionedThinDiskRegionEntryOffHeap {
+ public VersionedThinDiskRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -73,57 +66,59 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapLongKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapLongKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -139,6 +134,7 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -156,7 +152,7 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -164,36 +160,41 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -203,12 +204,13 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -216,12 +218,12 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -231,62 +233,60 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -298,16 +298,16 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -315,17 +315,18 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -337,11 +338,11 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -350,7 +351,7 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -360,9 +361,9 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -377,22 +378,24 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -400,7 +403,7 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDis
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java
index cef4f3a..9f0055e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java
@@ -18,19 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,7 +31,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -64,8 +56,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+public class VersionedThinDiskRegionEntryOffHeapObjectKey
+ extends VersionedThinDiskRegionEntryOffHeap {
+ public VersionedThinDiskRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -73,14 +66,14 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -91,35 +84,40 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapObjectKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -135,6 +133,7 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -152,7 +151,7 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -160,36 +159,41 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -199,12 +203,13 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -212,12 +217,12 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -227,62 +232,60 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -294,16 +297,16 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -311,17 +314,18 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -333,11 +337,11 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -346,7 +350,7 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -356,9 +360,9 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -373,18 +377,19 @@ public class VersionedThinDiskRegionEntryOffHeapObjectKey extends VersionedThinD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java
index 7c0a3a2..34b5e68 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java
@@ -18,19 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,7 +31,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -64,8 +56,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+public class VersionedThinDiskRegionEntryOffHeapStringKey1
+ extends VersionedThinDiskRegionEntryOffHeap {
+ public VersionedThinDiskRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -73,14 +66,14 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -88,14 +81,15 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -106,35 +100,40 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapStringKey1.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -150,6 +149,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -167,7 +167,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -175,36 +175,41 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -214,12 +219,13 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -227,12 +233,12 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -242,62 +248,60 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -309,16 +313,16 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -326,17 +330,18 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -348,11 +353,11 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -361,7 +366,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -371,9 +376,9 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -388,38 +393,41 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -428,16 +436,16 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -445,7 +453,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -458,7 +466,7 @@ public class VersionedThinDiskRegionEntryOffHeapStringKey1 extends VersionedThin
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[69/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java
index abbdd29..3a9abff 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java
@@ -18,9 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -53,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+ public VMStatsRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -61,33 +58,34 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -104,35 +102,38 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -148,6 +149,7 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -165,7 +167,7 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -173,36 +175,41 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -210,12 +217,10 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -226,51 +231,59 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -278,16 +291,16 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -296,14 +309,17 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -311,7 +327,7 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -321,10 +337,10 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -335,17 +351,17 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -359,7 +375,7 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java
index 9fce06e..6f0eecc 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java
@@ -20,7 +20,6 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
@@ -53,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMStatsRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -61,14 +60,14 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -77,35 +76,38 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -121,6 +123,7 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -138,7 +141,7 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -146,36 +149,41 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -183,12 +191,10 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -199,51 +205,59 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -251,24 +265,26 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -278,7 +294,7 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java
index 7912569..c598c3b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java
@@ -18,25 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VMThinDiskLRURegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -69,40 +58,41 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapIntKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -111,24 +101,29 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -138,13 +133,13 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -155,10 +150,11 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -166,12 +162,12 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -181,58 +177,60 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -244,36 +242,44 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -283,33 +289,38 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -317,25 +328,19 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
-
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -343,7 +348,7 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java
index d65e340..0d2c00b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java
@@ -18,25 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VMThinDiskLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -69,42 +58,41 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapLongKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -113,24 +101,29 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -140,13 +133,13 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -157,10 +150,11 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -168,12 +162,12 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -183,58 +177,60 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -246,36 +242,44 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -285,33 +289,38 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -319,18 +328,17 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -338,7 +346,7 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java
index 6fef242..82fe30c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java
@@ -18,25 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VMThinDiskLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -69,14 +58,14 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -87,20 +76,23 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapObjectKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -109,24 +101,29 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -136,13 +133,13 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -153,10 +150,11 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -164,12 +162,12 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -179,58 +177,60 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -242,36 +242,44 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -281,27 +289,33 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -310,19 +324,16 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
-
}
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java
index e22d404..036b3d8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java
@@ -18,25 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VMThinDiskLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -69,14 +58,14 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -84,14 +73,15 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -102,20 +92,23 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapStringKey1.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -124,24 +117,29 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -151,13 +149,13 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -168,10 +166,11 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -179,12 +178,12 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -194,58 +193,60 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -257,36 +258,44 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -296,33 +305,38 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -330,34 +344,34 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -366,16 +380,16 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -383,7 +397,7 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -396,7 +410,7 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java
index 5377cc9..aa212c9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java
@@ -18,25 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VMThinDiskLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -69,14 +58,14 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -85,19 +74,20 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -114,20 +104,23 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapStringKey2.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -136,24 +129,29 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -163,13 +161,13 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -180,10 +178,11 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -191,12 +190,12 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -206,58 +205,60 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -269,36 +270,44 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -308,33 +317,38 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -342,11 +356,8 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -355,14 +366,17 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -370,7 +384,7 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -380,10 +394,10 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -394,17 +408,17 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -418,7 +432,7 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
[65/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java
index 727c8d7..b0d780b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java
@@ -18,25 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapObjectKey extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VMThinLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -69,38 +56,39 @@ public class VMThinLRURegionEntryHeapObjectKey extends VMThinLRURegionEntryHeap
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapObjectKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -109,24 +97,29 @@ public class VMThinLRURegionEntryHeapObjectKey extends VMThinLRURegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -134,51 +127,57 @@ public class VMThinLRURegionEntryHeapObjectKey extends VMThinLRURegionEntryHeap
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -188,27 +187,33 @@ public class VMThinLRURegionEntryHeapObjectKey extends VMThinLRURegionEntryHeap
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -217,19 +222,16 @@ public class VMThinLRURegionEntryHeapObjectKey extends VMThinLRURegionEntryHeap
-
}
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java
index 0990312..0e41d9c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java
@@ -18,25 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VMThinLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -69,27 +56,28 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -100,20 +88,22 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapStringKey1.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -122,24 +112,29 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -147,51 +142,57 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -201,33 +202,38 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -235,34 +241,34 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -271,16 +277,16 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -288,7 +294,7 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -301,7 +307,7 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java
index caa300d..4a9f111 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java
@@ -18,25 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VMThinLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -69,33 +56,34 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -112,20 +100,22 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapStringKey2.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -134,24 +124,29 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -159,51 +154,57 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -213,33 +214,38 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -247,11 +253,8 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -260,14 +263,17 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -275,7 +281,7 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -285,10 +291,10 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -299,17 +305,17 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -323,7 +329,7 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java
index 17b8b4f..75d7638 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java
@@ -20,23 +20,12 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMThinLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -69,14 +58,14 @@ public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -85,20 +74,22 @@ public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapUUIDKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -107,24 +98,29 @@ public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -132,51 +128,57 @@ public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -186,33 +188,38 @@ public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -220,19 +227,18 @@ public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -242,7 +248,7 @@ public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java
index 49d760c..a479c66 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java
@@ -18,35 +18,15 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +53,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VMThinLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -81,55 +61,55 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapIntKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -145,6 +125,7 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -162,7 +143,7 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -170,36 +151,41 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -207,51 +193,57 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -261,33 +253,38 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -295,25 +292,19 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
-
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -321,7 +312,7 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java
index d7dc925..d0347dc 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java
@@ -18,35 +18,15 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +53,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VMThinLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -81,57 +61,55 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapLongKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +125,7 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +143,7 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +151,41 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -209,51 +193,57 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -263,33 +253,38 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -297,18 +292,17 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -316,7 +310,7 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java
index 9256d31..3b8c12c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java
@@ -18,35 +18,15 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +53,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+ public VMThinLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -81,53 +61,55 @@ public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOf
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapObjectKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -143,6 +125,7 @@ public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOf
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -160,7 +143,7 @@ public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOf
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -168,36 +151,41 @@ public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOf
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -205,51 +193,57 @@ public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOf
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -259,27 +253,33 @@ public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOf
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -288,19 +288,16 @@ public class VMThinLRURegionEntryOffHeapObjectKey extends VMThinLRURegionEntryOf
-
}
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java
index 9398058..9005640 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java
@@ -18,35 +18,15 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +53,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+ public VMThinLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -81,27 +61,28 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -112,35 +93,39 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -156,6 +141,7 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -173,7 +159,7 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -181,36 +167,41 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -218,51 +209,57 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -272,33 +269,38 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -306,34 +308,34 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -342,16 +344,16 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -359,7 +361,7 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -372,7 +374,7 @@ public class VMThinLRURegionEntryOffHeapStringKey1 extends VMThinLRURegionEntryO
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java
index 568577f..4529ca8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java
@@ -18,35 +18,15 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +53,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+ public VMThinLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -81,33 +61,34 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -124,35 +105,39 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -168,6 +153,7 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -185,7 +171,7 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -193,36 +179,41 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -230,51 +221,57 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -284,33 +281,38 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -318,11 +320,8 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -331,14 +330,17 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -346,7 +348,7 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -356,10 +358,10 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -370,17 +372,17 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -394,7 +396,7 @@ public class VMThinLRURegionEntryOffHeapStringKey2 extends VMThinLRURegionEntryO
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
[17/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java
index 599fd62..18d42b8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java
@@ -15,60 +15,104 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedStatsDiskRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -77,53 +121,52 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -133,60 +176,63 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -194,73 +240,67 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -272,15 +312,16 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -288,17 +329,17 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -310,11 +351,11 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -323,6 +364,7 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -332,9 +374,9 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -349,19 +391,24 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java
index 518ee29..1c5e92d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java
@@ -15,77 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapStringKey1(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedStatsDiskRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -94,53 +136,52 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -150,60 +191,63 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -211,73 +255,67 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -289,15 +327,16 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -305,17 +344,17 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -327,11 +366,11 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -340,6 +379,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -349,9 +389,9 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -366,38 +406,38 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -406,15 +446,16 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -422,7 +463,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -435,5 +476,8 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java
index de19cc0..82cf428 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java
@@ -15,23 +15,50 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
@@ -39,35 +66,50 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapStringKey2(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedStatsDiskRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -80,24 +122,24 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -106,53 +148,52 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -162,60 +203,63 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -223,73 +267,67 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -301,15 +339,16 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -317,17 +356,17 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -339,11 +378,11 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -352,6 +391,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -361,9 +401,9 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -378,39 +418,39 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -420,10 +460,10 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -434,16 +474,17 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -457,7 +498,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -476,5 +517,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey2 extends VersionedStatsD
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java
index f35b5c0..449195c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java
@@ -15,62 +15,111 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedStatsDiskRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -79,53 +128,52 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -135,60 +183,63 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -196,73 +247,67 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -274,15 +319,16 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -290,17 +336,17 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -312,11 +358,11 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -325,6 +371,7 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -334,9 +381,9 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -351,22 +398,23 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -376,5 +424,8 @@ public class VersionedStatsDiskRegionEntryHeapUUIDKey extends VersionedStatsDisk
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[04/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java
index b552bf9..b93a72c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java
@@ -15,59 +15,108 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
- Object value) {
- super(context, value);
+ public VersionedThinLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapLongKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -76,133 +125,123 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -214,15 +253,16 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -230,17 +270,17 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -252,11 +292,11 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -265,6 +305,7 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -274,9 +315,9 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -291,21 +332,22 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -313,5 +355,8 @@ public class VersionedThinLRURegionEntryHeapLongKey extends VersionedThinLRURegi
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java
index 316418c..8d67028 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java
@@ -15,59 +15,104 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
- Object value) {
- super(context, value);
+ public VersionedThinLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapObjectKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -76,133 +121,123 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -214,15 +249,16 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -230,17 +266,17 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -252,11 +288,11 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -265,6 +301,7 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -274,9 +311,9 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -291,19 +328,24 @@ public class VersionedThinLRURegionEntryHeapObjectKey extends VersionedThinLRURe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java
index 3903fd7..47e423d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java
@@ -15,76 +15,117 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedThinLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapStringKey1.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -93,133 +134,123 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -231,15 +262,16 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -247,17 +279,17 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -269,11 +301,11 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -282,6 +314,7 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -291,9 +324,9 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -308,38 +341,38 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -348,15 +381,16 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -364,7 +398,7 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -377,5 +411,8 @@ public class VersionedThinLRURegionEntryHeapStringKey1 extends VersionedThinLRUR
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java
index a0e3e55..b2be16c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java
@@ -15,23 +15,50 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
@@ -39,34 +66,48 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedThinLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -79,24 +120,24 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapStringKey2.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -105,133 +146,123 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -243,15 +274,16 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -259,17 +291,17 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -281,11 +313,11 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -294,6 +326,7 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -303,9 +336,9 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -320,39 +353,39 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -362,10 +395,10 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -376,16 +409,17 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -399,7 +433,7 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -418,5 +452,7 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java
index e8bbb05..d66fbb0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java
@@ -15,61 +15,102 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
- Object value) {
- super(context, value);
+ public VersionedThinLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapUUIDKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -78,133 +119,123 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -216,15 +247,16 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -232,17 +264,17 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -254,11 +286,11 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -267,6 +299,7 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -276,9 +309,9 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -293,22 +326,23 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -318,5 +352,8 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java
index cba309d..5c15c40 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java
@@ -15,80 +15,121 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, value);
+ public VersionedThinLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapIntKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapIntKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -96,13 +137,18 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -116,151 +162,143 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -272,15 +310,16 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -288,17 +327,17 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -310,11 +349,11 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -323,6 +362,7 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -332,9 +372,9 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -349,21 +389,29 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -371,5 +419,8 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[56/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java
index 241f6da..53cb9ab 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java
@@ -18,35 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +62,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VersionedStatsLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -81,55 +70,57 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -145,6 +136,7 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -162,7 +154,7 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -170,36 +162,41 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -207,51 +204,57 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -261,33 +264,38 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -296,7 +304,7 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -307,51 +315,61 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapIntKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -359,15 +377,16 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -379,16 +398,16 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -396,17 +415,18 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -418,11 +438,11 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -431,7 +451,7 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -441,9 +461,9 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -458,29 +478,26 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -488,7 +505,7 @@ public class VersionedStatsLRURegionEntryOffHeapIntKey extends VersionedStatsLRU
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java
index 2e62cd6..de68700 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java
@@ -18,35 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +61,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+public class VersionedStatsLRURegionEntryOffHeapLongKey
+ extends VersionedStatsLRURegionEntryOffHeap {
+ public VersionedStatsLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -81,57 +71,57 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +137,7 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +155,7 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +163,41 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -209,51 +205,57 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -263,33 +265,38 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -298,7 +305,7 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -309,51 +316,61 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapLongKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -361,15 +378,16 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -381,16 +399,16 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -398,17 +416,18 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -420,11 +439,11 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -433,7 +452,7 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -443,9 +462,9 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -460,22 +479,24 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -483,7 +504,7 @@ public class VersionedStatsLRURegionEntryOffHeapLongKey extends VersionedStatsLR
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java
index 3459dde..5712148 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java
@@ -18,35 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +61,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+public class VersionedStatsLRURegionEntryOffHeapObjectKey
+ extends VersionedStatsLRURegionEntryOffHeap {
+ public VersionedStatsLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -81,53 +71,57 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -143,6 +137,7 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -160,7 +155,7 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -168,36 +163,41 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -205,51 +205,57 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -259,27 +265,33 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -288,13 +300,12 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
-
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -305,51 +316,61 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -357,15 +378,16 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -377,16 +399,16 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -394,17 +416,18 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -416,11 +439,11 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -429,7 +452,7 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -439,9 +462,9 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -456,18 +479,19 @@ public class VersionedStatsLRURegionEntryOffHeapObjectKey extends VersionedStats
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java
index 8090ffc..410cbee 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java
@@ -18,35 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +61,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+public class VersionedStatsLRURegionEntryOffHeapStringKey1
+ extends VersionedStatsLRURegionEntryOffHeap {
+ public VersionedStatsLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -81,27 +71,28 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -112,35 +103,40 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -156,6 +152,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -173,7 +170,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -181,36 +178,41 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -218,51 +220,57 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -272,33 +280,38 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -307,7 +320,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -318,51 +331,61 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -370,15 +393,16 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -390,16 +414,16 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -407,17 +431,18 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -429,11 +454,11 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -442,7 +467,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -452,9 +477,9 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -469,38 +494,41 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -509,16 +537,16 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -526,7 +554,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -539,7 +567,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey1 extends VersionedStat
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[14/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java
index 4e7a970..3519288 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java
@@ -15,60 +15,104 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
- Object value) {
- super(context, value);
+ public VersionedStatsLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -77,136 +121,124 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -214,73 +246,67 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -292,15 +318,16 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -308,17 +335,17 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -330,11 +357,11 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -343,6 +370,7 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -352,9 +380,9 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -369,19 +397,24 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java
index 9be1689..ad9772e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java
@@ -15,77 +15,117 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedStatsLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -94,136 +134,124 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -231,73 +259,67 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -309,15 +331,16 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -325,17 +348,17 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -347,11 +370,11 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -360,6 +383,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -369,9 +393,9 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -386,38 +410,38 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -426,15 +450,16 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -442,7 +467,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -455,5 +480,8 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java
index e96217b..e96dce5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java
@@ -15,24 +15,50 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
@@ -40,34 +66,48 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedStatsLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -80,24 +120,24 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -106,136 +146,124 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -243,73 +271,67 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -321,15 +343,16 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -337,17 +360,17 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -359,11 +382,11 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -372,6 +395,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -381,9 +405,9 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -398,39 +422,39 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -440,10 +464,10 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -454,16 +478,17 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -477,7 +502,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -496,5 +521,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java
index cc6e07b..a34a80f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java
@@ -15,62 +15,102 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
- Object value) {
- super(context, value);
+ public VersionedStatsLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -79,136 +119,124 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -216,73 +244,67 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -294,15 +316,16 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -310,17 +333,17 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -332,11 +355,11 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -345,6 +368,7 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -354,9 +378,9 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -371,22 +395,23 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -396,5 +421,8 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[50/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java
index c791c9d..804623b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java
@@ -20,33 +20,24 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +63,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey
+ extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -81,60 +73,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapUUIDKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapUUIDKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -150,6 +142,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -167,7 +160,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -175,36 +168,41 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -214,13 +212,13 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -231,10 +229,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -242,12 +241,12 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -257,58 +256,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -320,36 +321,44 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -359,33 +368,38 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -393,10 +407,8 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -408,16 +420,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -425,17 +437,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -447,11 +460,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -460,7 +473,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -470,9 +483,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -487,23 +500,25 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -513,7 +528,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapUUIDKey extends VersionedThin
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java
index 3c75425..eefae22 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java
@@ -18,19 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,12 +31,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -65,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VersionedThinDiskRegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -73,40 +60,42 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapIntKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -115,24 +104,29 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -142,12 +136,13 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -155,12 +150,12 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -170,62 +165,60 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -237,16 +230,16 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -254,17 +247,18 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -276,11 +270,11 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -289,7 +283,7 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -299,9 +293,9 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -316,29 +310,26 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -346,7 +337,7 @@ public class VersionedThinDiskRegionEntryHeapIntKey extends VersionedThinDiskReg
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java
index 230a6dc..a52fc3c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java
@@ -18,19 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,12 +31,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -65,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VersionedThinDiskRegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -73,42 +60,42 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapLongKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -117,24 +104,29 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -144,12 +136,13 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -157,12 +150,12 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -172,62 +165,60 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -239,16 +230,16 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -256,17 +247,18 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -278,11 +270,11 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -291,7 +283,7 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -301,9 +293,9 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -318,22 +310,24 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -341,7 +335,7 @@ public class VersionedThinDiskRegionEntryHeapLongKey extends VersionedThinDiskRe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java
index 786b69c..8c9706c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java
@@ -18,19 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,12 +31,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -65,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VersionedThinDiskRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -73,14 +60,14 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -91,20 +78,23 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapObjectKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -113,24 +103,29 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -140,12 +135,13 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -153,12 +149,12 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -168,62 +164,60 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -235,16 +229,16 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -252,17 +246,18 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -274,11 +269,11 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -287,7 +282,7 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -297,9 +292,9 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -314,18 +309,19 @@ public class VersionedThinDiskRegionEntryHeapObjectKey extends VersionedThinDisk
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java
index 2e0f7ec..9491844 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java
@@ -18,19 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,12 +31,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -65,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VersionedThinDiskRegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -73,14 +60,14 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -88,14 +75,15 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -106,20 +94,23 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapStringKey1.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -128,24 +119,29 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -155,12 +151,13 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -168,12 +165,12 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -183,62 +180,60 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -250,16 +245,16 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -267,17 +262,18 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -289,11 +285,11 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -302,7 +298,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -312,9 +308,9 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -329,38 +325,41 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -369,16 +368,16 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -386,7 +385,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -399,7 +398,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java
index af00416..bb21686 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java
@@ -18,19 +18,12 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
@@ -38,12 +31,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -65,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VersionedThinDiskRegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -73,14 +60,14 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -89,19 +76,20 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -118,20 +106,23 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapStringKey2.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -140,24 +131,29 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -167,12 +163,13 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -180,12 +177,12 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -195,62 +192,60 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -262,16 +257,16 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -279,17 +274,18 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -301,11 +297,11 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -314,7 +310,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -324,9 +320,9 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -341,15 +337,15 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -358,14 +354,17 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -373,7 +372,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -383,10 +382,10 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -397,17 +396,17 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -421,7 +420,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
[64/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java
index f505996..723dade 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java
@@ -20,33 +20,15 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMThinLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -81,14 +63,14 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -97,35 +79,38 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapUUIDKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -141,6 +126,7 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -158,7 +144,7 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -166,36 +152,41 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -203,51 +194,57 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -257,33 +254,38 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -291,19 +293,18 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -313,7 +314,7 @@ public class VMThinLRURegionEntryOffHeapUUIDKey extends VMThinLRURegionEntryOffH
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java
index a325ff2..1222ba7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -46,7 +41,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapIntKey extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VMThinRegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -54,40 +49,39 @@ public class VMThinRegionEntryHeapIntKey extends VMThinRegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapIntKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -96,24 +90,29 @@ public class VMThinRegionEntryHeapIntKey extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -121,29 +120,21 @@ public class VMThinRegionEntryHeapIntKey extends VMThinRegionEntryHeap {
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
-
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -151,7 +142,7 @@ public class VMThinRegionEntryHeapIntKey extends VMThinRegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java
index 26cdce7..36e69b3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -46,7 +41,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapLongKey extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VMThinRegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -54,42 +49,39 @@ public class VMThinRegionEntryHeapLongKey extends VMThinRegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapLongKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -98,24 +90,29 @@ public class VMThinRegionEntryHeapLongKey extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -123,22 +120,19 @@ public class VMThinRegionEntryHeapLongKey extends VMThinRegionEntryHeap {
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -146,7 +140,7 @@ public class VMThinRegionEntryHeapLongKey extends VMThinRegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java
index 8c50563..34a8da7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -46,7 +41,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapObjectKey extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VMThinRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -54,38 +49,39 @@ public class VMThinRegionEntryHeapObjectKey extends VMThinRegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapObjectKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -94,24 +90,29 @@ public class VMThinRegionEntryHeapObjectKey extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -119,18 +120,14 @@ public class VMThinRegionEntryHeapObjectKey extends VMThinRegionEntryHeap {
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java
index 4223695..0023f93 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -46,7 +41,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VMThinRegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -54,27 +49,28 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -85,20 +81,22 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapStringKey1.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -107,24 +105,29 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -132,38 +135,36 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -172,16 +173,16 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -189,7 +190,7 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -202,7 +203,7 @@ public class VMThinRegionEntryHeapStringKey1 extends VMThinRegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java
index a99ada8..a4e4c2c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -46,7 +41,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VMThinRegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -54,33 +49,34 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -97,20 +93,22 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapStringKey2.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -119,24 +117,29 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -144,15 +147,10 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -161,14 +159,17 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -176,7 +177,7 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -186,10 +187,10 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -200,17 +201,17 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -224,7 +225,7 @@ public class VMThinRegionEntryHeapStringKey2 extends VMThinRegionEntryHeap {
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java
index fe583e1..d400e96 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java
@@ -20,9 +20,6 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -46,7 +43,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryHeapUUIDKey extends VMThinRegionEntryHeap {
- public VMThinRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMThinRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -54,14 +51,14 @@ public class VMThinRegionEntryHeapUUIDKey extends VMThinRegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -70,20 +67,22 @@ public class VMThinRegionEntryHeapUUIDKey extends VMThinRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryHeapUUIDKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -92,24 +91,29 @@ public class VMThinRegionEntryHeapUUIDKey extends VMThinRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -117,23 +121,20 @@ public class VMThinRegionEntryHeapUUIDKey extends VMThinRegionEntryHeap {
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -143,7 +144,7 @@ public class VMThinRegionEntryHeapUUIDKey extends VMThinRegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java
index 48744d7..2d17643 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -51,7 +46,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VMThinRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -59,55 +54,55 @@ public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapIntKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -123,6 +118,7 @@ public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -140,7 +136,7 @@ public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -148,36 +144,41 @@ public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -185,29 +186,21 @@ public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
-
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -215,7 +208,7 @@ public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java
index a1d2a46..9763544 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -51,7 +46,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VMThinRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -59,57 +54,55 @@ public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapLongKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -125,6 +118,7 @@ public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -142,7 +136,7 @@ public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -150,36 +144,41 @@ public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -187,22 +186,19 @@ public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -210,7 +206,7 @@ public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java
index e835709..4c8e188 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -51,7 +46,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapObjectKey extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+ public VMThinRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -59,53 +54,55 @@ public class VMThinRegionEntryOffHeapObjectKey extends VMThinRegionEntryOffHeap
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapObjectKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -121,6 +118,7 @@ public class VMThinRegionEntryOffHeapObjectKey extends VMThinRegionEntryOffHeap
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -138,7 +136,7 @@ public class VMThinRegionEntryOffHeapObjectKey extends VMThinRegionEntryOffHeap
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -146,36 +144,41 @@ public class VMThinRegionEntryOffHeapObjectKey extends VMThinRegionEntryOffHeap
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -183,18 +186,14 @@ public class VMThinRegionEntryOffHeapObjectKey extends VMThinRegionEntryOffHeap
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java
index f7e42bf..72b4884 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -51,7 +46,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+ public VMThinRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -59,27 +54,28 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -90,35 +86,38 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey1.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -134,6 +133,7 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -151,7 +151,7 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -159,36 +159,41 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -196,38 +201,36 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -236,16 +239,16 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -253,7 +256,7 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -266,7 +269,7 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java
index c5158e2..2a597b7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -51,7 +46,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+ public VMThinRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -59,33 +54,34 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -102,35 +98,38 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey2.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -146,6 +145,7 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -163,7 +163,7 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -171,36 +171,41 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -208,15 +213,10 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -225,14 +225,17 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -240,7 +243,7 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -250,10 +253,10 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -264,17 +267,17 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -288,7 +291,7 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java
index 8a5e180..0ccba15 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java
@@ -20,9 +20,6 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -51,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMThinRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -59,14 +56,14 @@ public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -75,35 +72,38 @@ public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapUUIDKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -119,6 +119,7 @@ public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -136,7 +137,7 @@ public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -144,36 +145,41 @@ public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -181,23 +187,20 @@ public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
this.next = n;
}
-
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -207,7 +210,7 @@ public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[55/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java
index 22e58ba..264aa02 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java
@@ -18,35 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +61,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+public class VersionedStatsLRURegionEntryOffHeapStringKey2
+ extends VersionedStatsLRURegionEntryOffHeap {
+ public VersionedStatsLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -81,33 +71,34 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -124,35 +115,40 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -168,6 +164,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -185,7 +182,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -193,36 +190,41 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -230,51 +232,57 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -284,33 +292,38 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -319,7 +332,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -330,51 +343,61 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -382,15 +405,16 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -402,16 +426,16 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -419,17 +443,18 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -441,11 +466,11 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -454,7 +479,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -464,9 +489,9 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -481,15 +506,15 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -498,14 +523,17 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -513,7 +541,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -523,10 +551,10 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -537,17 +565,17 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -561,7 +589,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStat
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java
index 46b533a..a96f381 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java
@@ -20,33 +20,24 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +63,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+public class VersionedStatsLRURegionEntryOffHeapUUIDKey
+ extends VersionedStatsLRURegionEntryOffHeap {
+ public VersionedStatsLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -81,14 +73,14 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -97,35 +89,40 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -141,6 +138,7 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -158,7 +156,7 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -166,36 +164,41 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -203,51 +206,57 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -257,33 +266,38 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -292,7 +306,7 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -303,51 +317,61 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -355,15 +379,16 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -375,16 +400,16 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -392,17 +417,18 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -414,11 +440,11 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -427,7 +453,7 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -437,9 +463,9 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -454,23 +480,25 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -480,7 +508,7 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLR
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java
index 1cbf8ed..a0dcca1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java
@@ -18,40 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VersionedStatsRegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -81,40 +60,39 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -123,24 +101,29 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -148,12 +131,10 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -164,51 +145,59 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -216,15 +205,16 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -236,16 +226,16 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -253,17 +243,18 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -275,11 +266,11 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -288,7 +279,7 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -298,9 +289,9 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -315,29 +306,26 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -345,7 +333,7 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java
index ffb56a6..4a4902e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java
@@ -18,40 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VersionedStatsRegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -81,42 +60,39 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -125,24 +101,29 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -150,12 +131,10 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -166,51 +145,59 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -218,15 +205,16 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -238,16 +226,16 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -255,17 +243,18 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -277,11 +266,11 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -290,7 +279,7 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -300,9 +289,9 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -317,22 +306,24 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -340,7 +331,7 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java
index 4e72a21..657306b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java
@@ -18,40 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VersionedStatsRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -81,38 +60,40 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -121,24 +102,29 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -146,12 +132,10 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -162,51 +146,61 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -214,15 +208,16 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -234,16 +229,16 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -251,17 +246,18 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -273,11 +269,11 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -286,7 +282,7 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -296,9 +292,9 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -313,18 +309,19 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java
index 73ad5b9..0a11afa 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java
@@ -18,40 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
-
-
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VersionedStatsRegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -81,27 +60,28 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -112,20 +92,23 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -134,24 +117,29 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -159,12 +147,10 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
this.next = n;
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -175,51 +161,61 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -227,15 +223,16 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -247,16 +244,16 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -264,17 +261,18 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -286,11 +284,11 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -299,7 +297,7 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -309,9 +307,9 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -326,38 +324,41 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -366,16 +367,16 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -383,7 +384,7 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -396,7 +397,7 @@ public class VersionedStatsRegionEntryHeapStringKey1 extends VersionedStatsRegio
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[58/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java
index 90fe440..ca5bcd7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java
@@ -18,35 +18,23 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +60,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+public class VersionedStatsDiskRegionEntryOffHeapStringKey1
+ extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -81,14 +70,14 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -96,14 +85,15 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -114,35 +104,40 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -158,6 +153,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -175,7 +171,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -183,36 +179,41 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -222,12 +223,13 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -235,12 +237,12 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -250,60 +252,60 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -314,51 +316,61 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -366,15 +378,16 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -386,16 +399,16 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -403,17 +416,18 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -425,11 +439,11 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -438,7 +452,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -448,9 +462,9 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -465,38 +479,41 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -505,16 +522,16 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -522,7 +539,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -535,7 +552,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey1 extends VersionedSta
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java
index a9e72b5..7d111ff 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java
@@ -18,35 +18,23 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +60,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+public class VersionedStatsDiskRegionEntryOffHeapStringKey2
+ extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -81,14 +70,14 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -97,19 +86,20 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -126,35 +116,40 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -170,6 +165,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -187,7 +183,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -195,36 +191,41 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -234,12 +235,13 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -247,12 +249,12 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -262,60 +264,60 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -326,51 +328,61 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -378,15 +390,16 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -398,16 +411,16 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -415,17 +428,18 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -437,11 +451,11 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -450,7 +464,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -460,9 +474,9 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -477,15 +491,15 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -494,14 +508,17 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -509,7 +526,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -519,10 +536,10 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -533,17 +550,17 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -557,7 +574,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedSta
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java
index 38faab8..ae984b7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java
@@ -20,33 +20,23 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +62,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
+ extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -81,60 +72,60 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -150,6 +141,7 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -167,7 +159,7 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -175,36 +167,41 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -214,12 +211,13 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -227,12 +225,12 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -242,60 +240,60 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -306,51 +304,61 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -358,15 +366,16 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -378,16 +387,16 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -395,17 +404,18 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -417,11 +427,11 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -430,7 +440,7 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -440,9 +450,9 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -457,23 +467,25 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -483,7 +495,7 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsD
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java
index fad6fb8..a521e7d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java
@@ -18,40 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VersionedStatsLRURegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -81,40 +65,40 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -123,24 +107,29 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -148,51 +137,57 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -202,33 +197,38 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -237,7 +237,7 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -248,51 +248,61 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -300,15 +310,16 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -320,16 +331,16 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -337,17 +348,18 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -359,11 +371,11 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -372,7 +384,7 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -382,9 +394,9 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -399,29 +411,26 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -429,7 +438,7 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[27/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java
index 6480016..29bc853 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java
@@ -15,18 +15,36 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
@@ -34,37 +52,62 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -73,42 +116,40 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -119,22 +160,23 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -144,164 +186,155 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -311,5 +344,8 @@ public class VMThinDiskLRURegionEntryHeapUUIDKey extends VMThinDiskLRURegionEntr
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java
index 642d4f7..932ef18 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java
@@ -15,76 +15,121 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapIntKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -92,13 +137,18 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -112,60 +162,60 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -176,22 +226,23 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -201,163 +252,161 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -365,5 +414,8 @@ public class VMThinDiskLRURegionEntryOffHeapIntKey extends VMThinDiskLRURegionEn
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java
index 6915625..75e5757 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java
@@ -15,76 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapLongKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -92,13 +139,18 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -112,60 +164,60 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -176,22 +228,23 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -201,163 +254,154 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -365,5 +409,8 @@ public class VMThinDiskLRURegionEntryOffHeapLongKey extends VMThinDiskLRURegionE
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java
index 86277c7..ae08152 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java
@@ -15,77 +15,119 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapObjectKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -93,13 +135,18 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -113,60 +160,60 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -177,22 +224,23 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -202,161 +250,156 @@ public class VMThinDiskLRURegionEntryOffHeapObjectKey extends VMThinDiskLRURegio
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java
index 9048454..8240acb 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java
@@ -15,94 +15,134 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey1.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -110,13 +150,18 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -130,60 +175,60 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -194,22 +239,23 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -219,180 +265,170 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -401,15 +437,16 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -417,7 +454,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -430,5 +467,8 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey1 extends VMThinDiskLRURegi
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[42/78] geode git commit: GEODE-2929: remove final from methods on
internal classes
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
index f2a6492..7042a85 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
@@ -182,7 +182,7 @@ public class HeapDataOutputStream extends OutputStream
/** write the low-order 8 bits of the given int */
@Override
- public final void write(int b) {
+ public void write(int b) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -190,14 +190,14 @@ public class HeapDataOutputStream extends OutputStream
buffer.put((byte) b);
}
- private final void ensureCapacity(int amount) {
+ private void ensureCapacity(int amount) {
int remainingSpace = this.buffer.capacity() - this.buffer.position();
if (amount > remainingSpace) {
expand(amount);
}
}
- private final void expand(int amount) {
+ private void expand(int amount) {
if (this.disallowExpansion) {
this.buffer.position(this.memoPosition);
this.ignoreWrites = true;
@@ -217,7 +217,7 @@ public class HeapDataOutputStream extends OutputStream
this.buffer = ByteBuffer.allocate(amount);
}
- private final void checkIfWritable() {
+ private void checkIfWritable() {
if (!this.writeMode) {
throw new IllegalStateException(
LocalizedStrings.HeapDataOutputStream_NOT_IN_WRITE_MODE.toLocalizedString());
@@ -311,7 +311,7 @@ public class HeapDataOutputStream extends OutputStream
}
}
- public final int size() {
+ public int size() {
if (this.writeMode) {
return this.size + this.buffer.position();
} else {
@@ -322,7 +322,7 @@ public class HeapDataOutputStream extends OutputStream
/**
* Free up any unused memory
*/
- public final void trim() {
+ public void trim() {
finishWriting();
if (this.buffer.limit() < this.buffer.capacity()) {
// buffer is less than half full so allocate a new one and copy it in
@@ -333,7 +333,7 @@ public class HeapDataOutputStream extends OutputStream
}
}
- private final void consolidateChunks() {
+ private void consolidateChunks() {
if (this.chunks != null) {
final int size = size();
ByteBuffer newBuffer = ByteBuffer.allocate(size);
@@ -368,7 +368,7 @@ public class HeapDataOutputStream extends OutputStream
size += this.buffer.remaining();
}
- public final void reset() {
+ public void reset() {
this.size = 0;
if (this.chunks != null) {
this.chunks.clear();
@@ -425,7 +425,7 @@ public class HeapDataOutputStream extends OutputStream
* gets the contents of this stream as s ByteBuffer, ready for reading. The stream should not be
* written to past this point until it has been reset.
*/
- public final ByteBuffer toByteBuffer() {
+ public ByteBuffer toByteBuffer() {
finishWriting();
consolidateChunks();
return this.buffer;
@@ -435,7 +435,7 @@ public class HeapDataOutputStream extends OutputStream
* gets the contents of this stream as a byte[]. The stream should not be written to past this
* point until it has been reset.
*/
- public final byte[] toByteArray() {
+ public byte[] toByteArray() {
ByteBuffer bb = toByteBuffer();
if (bb.hasArray() && bb.arrayOffset() == 0 && bb.limit() == bb.capacity()) {
return bb.array();
@@ -484,7 +484,7 @@ public class HeapDataOutputStream extends OutputStream
* @return the number of bytes written, possibly zero.
* @throws IOException if channel is closed, not yet connected, or some other I/O error occurs.
*/
- public final int sendTo(SocketChannel chan) throws IOException {
+ public int sendTo(SocketChannel chan) throws IOException {
finishWriting();
if (size() == 0) {
return 0;
@@ -502,7 +502,7 @@ public class HeapDataOutputStream extends OutputStream
return result;
}
- public final void sendTo(SocketChannel chan, ByteBuffer out) throws IOException {
+ public void sendTo(SocketChannel chan, ByteBuffer out) throws IOException {
finishWriting();
if (size() == 0) {
return;
@@ -521,7 +521,7 @@ public class HeapDataOutputStream extends OutputStream
* sends the data from "in" by writing it to "sc" through "out" (out is used to chunk to data and
* is probably a direct memory buffer).
*/
- private final void sendChunkTo(ByteBuffer in, SocketChannel sc, ByteBuffer out)
+ private void sendChunkTo(ByteBuffer in, SocketChannel sc, ByteBuffer out)
throws IOException {
int bytesSent = in.remaining();
if (in.isDirect()) {
@@ -570,7 +570,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @throws BufferOverflowException if out is not large enough to contain all of our data.
*/
- public final void sendTo(ByteBuffer out) {
+ public void sendTo(ByteBuffer out) {
finishWriting();
if (out.remaining() < size()) {
throw new BufferOverflowException();
@@ -597,7 +597,7 @@ public class HeapDataOutputStream extends OutputStream
/**
* Write the contents of this stream to the specified stream using outBuf if a buffer is needed.
*/
- public final void sendTo(OutputStream out, ByteBuffer outBuf) throws IOException {
+ public void sendTo(OutputStream out, ByteBuffer outBuf) throws IOException {
finishWriting();
if (this.chunks != null) {
for (ByteBuffer bb : this.chunks) {
@@ -655,7 +655,7 @@ public class HeapDataOutputStream extends OutputStream
/**
* Write the contents of this stream to the specified stream.
*/
- public final void sendTo(ByteBufferWriter out) {
+ public void sendTo(ByteBufferWriter out) {
finishWriting();
if (this.chunks != null) {
for (ByteBuffer bb : this.chunks) {
@@ -677,7 +677,7 @@ public class HeapDataOutputStream extends OutputStream
* Returns an input stream that can be used to read the contents that where written to this output
* stream.
*/
- public final InputStream getInputStream() {
+ public InputStream getInputStream() {
return new HDInputStream();
}
@@ -802,7 +802,7 @@ public class HeapDataOutputStream extends OutputStream
* Note this implementation is exactly the same as writeTo(OutputStream) but they do not both
* implement a common interface.
*/
- public final void sendTo(DataOutput out) throws IOException {
+ public void sendTo(DataOutput out) throws IOException {
finishWriting();
if (this.chunks != null) {
for (ByteBuffer bb : this.chunks) {
@@ -847,7 +847,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the boolean to be written.
*/
- public final void writeBoolean(boolean v) {
+ public void writeBoolean(boolean v) {
write(v ? 1 : 0);
}
@@ -860,7 +860,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the byte value to be written.
*/
- public final void writeByte(int v) {
+ public void writeByte(int v) {
write(v);
}
@@ -882,7 +882,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>short</code> value to be written.
*/
- public final void writeShort(int v) {
+ public void writeShort(int v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -908,7 +908,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>char</code> value to be written.
*/
- public final void writeChar(int v) {
+ public void writeChar(int v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -935,7 +935,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>int</code> value to be written.
*/
- public final void writeInt(int v) {
+ public void writeInt(int v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -966,7 +966,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>long</code> value to be written.
*/
- public final void writeLong(long v) {
+ public void writeLong(long v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -980,7 +980,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @return the LongUpdater that allows the long to be updated
*/
- public final LongUpdater reserveLong() {
+ public LongUpdater reserveLong() {
if (this.ignoreWrites)
return null;
checkIfWritable();
@@ -1014,7 +1014,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>float</code> value to be written.
*/
- public final void writeFloat(float v) {
+ public void writeFloat(float v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -1032,7 +1032,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param v the <code>double</code> value to be written.
*/
- public final void writeDouble(double v) {
+ public void writeDouble(double v) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -1053,7 +1053,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param str the string of bytes to be written.
*/
- public final void writeBytes(String str) {
+ public void writeBytes(String str) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -1087,7 +1087,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param s the string value to be written.
*/
- public final void writeChars(String s) {
+ public void writeChars(String s) {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -1157,7 +1157,7 @@ public class HeapDataOutputStream extends OutputStream
*
* @param str the string value to be written.
*/
- public final void writeUTF(String str) throws UTFDataFormatException {
+ public void writeUTF(String str) throws UTFDataFormatException {
if (this.ignoreWrites)
return;
checkIfWritable();
@@ -1168,7 +1168,7 @@ public class HeapDataOutputStream extends OutputStream
}
}
- private final void writeAsciiUTF(String str, boolean encodeLength) throws UTFDataFormatException {
+ private void writeAsciiUTF(String str, boolean encodeLength) throws UTFDataFormatException {
int strlen = str.length();
if (encodeLength && strlen > 65535) {
throw new UTFDataFormatException();
@@ -1203,7 +1203,7 @@ public class HeapDataOutputStream extends OutputStream
* The reader code should use the logic similar to DataOutputStream.readUTF() from the version
* 1.6.0_10 to decode this properly.
*/
- private final void writeFullUTF(String str, boolean encodeLength) throws UTFDataFormatException {
+ private void writeFullUTF(String str, boolean encodeLength) throws UTFDataFormatException {
int strlen = str.length();
if (encodeLength && strlen > 65535) {
throw new UTFDataFormatException();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java b/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
index 8c3ecb8..78b2944 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
@@ -3465,21 +3465,21 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
*/
protected abstract static class WellKnownDS extends DataSerializer {
@Override
- public final int getId() {
+ public int getId() {
// illegal for a customer to use but since our WellKnownDS is never registered
// with this id it gives us one to use
return 0;
}
@Override
- public final Class[] getSupportedClasses() {
+ public Class[] getSupportedClasses() {
// illegal for a customer to return null but we can do it since we never register
// this serializer.
return null;
}
@Override
- public final Object fromData(DataInput in) throws IOException, ClassNotFoundException {
+ public Object fromData(DataInput in) throws IOException, ClassNotFoundException {
throw new IllegalStateException(LocalizedStrings.SHOULDNT_INVOKE.toLocalizedString());
}
// subclasses need to implement toData
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/NullDataOutputStream.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/NullDataOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/NullDataOutputStream.java
index a9f9e95..2f0931d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/NullDataOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/NullDataOutputStream.java
@@ -37,17 +37,17 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
/** write the low-order 8 bits of the given int */
@Override
- public final void write(int b) {
+ public void write(int b) {
this.size++;
}
/** override OutputStream's write() */
@Override
- public final void write(byte[] source, int offset, int len) {
+ public void write(byte[] source, int offset, int len) {
this.size += len;
}
- public final int size() {
+ public int size() {
return this.size;
}
@@ -68,7 +68,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param v the boolean to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeBoolean(boolean v) throws IOException {
+ public void writeBoolean(boolean v) throws IOException {
write(v ? 1 : 0);
}
@@ -82,7 +82,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param v the byte value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeByte(int v) throws IOException {
+ public void writeByte(int v) throws IOException {
write(v);
}
@@ -105,7 +105,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param v the <code>short</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeShort(int v) throws IOException {
+ public void writeShort(int v) throws IOException {
this.size += 2;
}
@@ -128,7 +128,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param v the <code>char</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeChar(int v) throws IOException {
+ public void writeChar(int v) throws IOException {
this.size += 2;
}
@@ -152,7 +152,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param v the <code>int</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeInt(int v) throws IOException {
+ public void writeInt(int v) throws IOException {
this.size += 4;
}
@@ -180,7 +180,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param v the <code>long</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeLong(long v) throws IOException {
+ public void writeLong(long v) throws IOException {
this.size += 8;
}
@@ -195,7 +195,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param v the <code>float</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeFloat(float v) throws IOException {
+ public void writeFloat(float v) throws IOException {
this.size += 4;
}
@@ -210,7 +210,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param v the <code>double</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeDouble(double v) throws IOException {
+ public void writeDouble(double v) throws IOException {
this.size += 8;
}
@@ -228,7 +228,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param str the string of bytes to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeBytes(String str) throws IOException {
+ public void writeBytes(String str) throws IOException {
int strlen = str.length();
if (strlen > 0) {
this.size += strlen;
@@ -246,7 +246,7 @@ public class NullDataOutputStream extends OutputStream implements ObjToByteArray
* @param s the string value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeChars(String s) throws IOException {
+ public void writeChars(String s) throws IOException {
int len = s.length();
if (len > 0) {
this.size += len * 2;
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/ObjIdConcurrentMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/ObjIdConcurrentMap.java b/geode-core/src/main/java/org/apache/geode/internal/ObjIdConcurrentMap.java
index da94abb..17894ad 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/ObjIdConcurrentMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/ObjIdConcurrentMap.java
@@ -200,7 +200,7 @@ public class ObjIdConcurrentMap<V> /* extends AbstractMap<K, V> */
}
@SuppressWarnings("unchecked")
- static final <V> HashEntry<V>[] newArray(int i) {
+ static <V> HashEntry<V>[] newArray(int i) {
return new HashEntry[i];
}
}
@@ -279,7 +279,7 @@ public class ObjIdConcurrentMap<V> /* extends AbstractMap<K, V> */
}
@SuppressWarnings("unchecked")
- static final <K, V> Segment<V>[] newArray(int i) {
+ static <K, V> Segment<V>[] newArray(int i) {
return new Segment[i];
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/PureJavaMode.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/PureJavaMode.java b/geode-core/src/main/java/org/apache/geode/internal/PureJavaMode.java
index 3b10365..4e60c0b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/PureJavaMode.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/PureJavaMode.java
@@ -67,11 +67,11 @@ public class PureJavaMode {
osStatsAreAvailable = osName.startsWith("Linux") || !isPure;
}
- public final static boolean isPure() {
+ public static boolean isPure() {
return isPure;
}
- public final static boolean is64Bit() {
+ public static boolean is64Bit() {
return is64Bit;
}
@@ -79,7 +79,7 @@ public class PureJavaMode {
* Linux has OsStats even in PureJava mode but other platforms require the native code to provide
* OS Statistics. return true if OSStatistics are available
*/
- public final static boolean osStatsAreAvailable() {
+ public static boolean osStatsAreAvailable() {
return osStatsAreAvailable;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/Version.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/Version.java b/geode-core/src/main/java/org/apache/geode/internal/Version.java
index 030da85..e058edb 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/Version.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/Version.java
@@ -318,7 +318,7 @@ public class Version implements Comparable<Version> {
* {@link #readOrdinal(DataInput)} can deal with both compressed/uncompressed cases
* seemlessly
*/
- public final void writeOrdinal(DataOutput out, boolean compressed) throws IOException {
+ public void writeOrdinal(DataOutput out, boolean compressed) throws IOException {
writeOrdinal(out, this.ordinal, compressed);
}
@@ -326,7 +326,7 @@ public class Version implements Comparable<Version> {
* Fixed number of bytes required for serializing this version when "compressed" flag is false in
* {@link #writeOrdinal(DataOutput, boolean)}.
*/
- public static final int uncompressedSize() {
+ public static int uncompressedSize() {
return 3;
}
@@ -334,7 +334,7 @@ public class Version implements Comparable<Version> {
* Fixed number of bytes required for serializing this version when "compressed" flag is true in
* {@link #writeOrdinal(DataOutput, boolean)}.
*/
- public final int compressedSize() {
+ public int compressedSize() {
if (ordinal <= Byte.MAX_VALUE) {
return 1;
} else {
@@ -438,35 +438,35 @@ public class Version implements Comparable<Version> {
return this.gemfireVersion != null ? this.gemfireVersion : this;
}
- public final String getMethodSuffix() {
+ public String getMethodSuffix() {
return this.methodSuffix;
}
- public final String getProductName() {
+ public String getProductName() {
return this.productName;
}
- public final String getName() {
+ public String getName() {
return this.name;
}
- public final short getMajorVersion() {
+ public short getMajorVersion() {
return this.majorVersion;
}
- public final short getMinorVersion() {
+ public short getMinorVersion() {
return this.minorVersion;
}
- public final short getRelease() {
+ public short getRelease() {
return this.release;
}
- public final short getPatch() {
+ public short getPatch() {
return this.patch;
}
- public final short ordinal() {
+ public short ordinal() {
return this.ordinal;
}
@@ -488,7 +488,7 @@ public class Version implements Comparable<Version> {
* @return negative if this version is older, positive if this version is newer, 0 if this is the
* same version
*/
- public final int compareTo(short other) {
+ public int compareTo(short other) {
// first try to find the actual Version object
Version v = fromOrdinalNoThrow(other, false);
if (v == null) {
@@ -502,7 +502,7 @@ public class Version implements Comparable<Version> {
* {@inheritDoc}
*/
@Override
- public final int compareTo(Version other) {
+ public int compareTo(Version other) {
if (other != null) {
// [bruce] old implementation used ordinals for comparison, but this requires
// ordinals to be in increasing order, which may not always be possible
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/VersionedDataOutputStream.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/VersionedDataOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/VersionedDataOutputStream.java
index cd14dc0..001fefe 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/VersionedDataOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/VersionedDataOutputStream.java
@@ -42,7 +42,7 @@ public class VersionedDataOutputStream extends DataOutputStream implements Versi
* {@inheritDoc}
*/
@Override
- public final Version getVersion() {
+ public Version getVersion() {
return this.version;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteRegionAttributes.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteRegionAttributes.java b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteRegionAttributes.java
index 7a6ad09..fdcb224 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteRegionAttributes.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteRegionAttributes.java
@@ -498,11 +498,11 @@ public class RemoteRegionAttributes implements RegionAttributes, DataSerializabl
}
@Override
- public final String toString() {
+ public String toString() {
return desc;
}
- public final void close() {}
+ public void close() {}
}
private static class RemoteCacheListener extends RemoteCacheCallback implements CacheListener {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/BaseDecoratorImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/BaseDecoratorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/BaseDecoratorImpl.java
index 0f752b3..5b7c750 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/BaseDecoratorImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/BaseDecoratorImpl.java
@@ -48,7 +48,7 @@ public abstract class BaseDecoratorImpl implements StatAlertDefinition {
this._def = definition;
}
- public final int getId() {
+ public int getId() {
return _def.getId();
}
@@ -74,11 +74,11 @@ public abstract class BaseDecoratorImpl implements StatAlertDefinition {
_def.setName(name);
}
- public final StatisticInfo[] getStatisticInfo() {
+ public StatisticInfo[] getStatisticInfo() {
return _def.getStatisticInfo();
}
- public final void setStatisticInfo(StatisticInfo[] info) {
+ public void setStatisticInfo(StatisticInfo[] info) {
_def.setStatisticInfo(info);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionHelper.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionHelper.java b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionHelper.java
index fa96cae..b1a8b0d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionHelper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionHelper.java
@@ -132,7 +132,7 @@ public class FunctionHelper {
*
* @param vals Array of number
*/
- public static final Number SUM(Number[] vals) {
+ public static Number SUM(Number[] vals) {
try {
double sum = 0.0;
for (int i = 0; i < vals.length; i++) {
@@ -160,7 +160,7 @@ public class FunctionHelper {
*
* @param vals Array of number
*/
- public static final Number AVG(Number[] vals) {
+ public static Number AVG(Number[] vals) {
try {
return Double.valueOf(SUM(vals).doubleValue() / vals.length);
} catch (VirtualMachineError err) {
@@ -184,7 +184,7 @@ public class FunctionHelper {
*
* @param vals Array of number
*/
- public static final Number MIN(Number[] vals) {
+ public static Number MIN(Number[] vals) {
try {
Collection col = Arrays.asList(vals);
Number min = (Number) Collections.max(col);
@@ -211,7 +211,7 @@ public class FunctionHelper {
*
* @param vals Array of number
*/
- public static final Number MAX(Number[] vals) {
+ public static Number MAX(Number[] vals) {
try {
Collection col = Arrays.asList(vals);
Number max = (Number) Collections.max(col);
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractDiskRegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractDiskRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractDiskRegion.java
index 554455d..81011d3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractDiskRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractDiskRegion.java
@@ -249,7 +249,7 @@ public abstract class AbstractDiskRegion implements DiskRegionView {
this.versionVector = new DiskRegionVersionVector(ds.getDiskStoreID());
}
- public final long getId() {
+ public long getId() {
return this.id;
}
@@ -739,7 +739,7 @@ public abstract class AbstractDiskRegion implements DiskRegionView {
this.readyForRecovery = false;
}
- public final boolean isReadyForRecovery() {
+ public boolean isReadyForRecovery() {
// better name for this method would be isRecovering
return this.readyForRecovery;
}
@@ -808,11 +808,11 @@ public abstract class AbstractDiskRegion implements DiskRegionView {
* Returns true if this region maintains a backup of all its keys and values on disk. Returns
* false if only values that will not fit in memory are written to disk.
*/
- public final boolean isBackup() {
+ public boolean isBackup() {
return this.backup;
}
- protected final void setBackup(boolean v) {
+ protected void setBackup(boolean v) {
this.backup = v;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionMap.java
index a0e360f..e5e21ef 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionMap.java
@@ -390,7 +390,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
*
* @return The total allowable size of this maps entries.
*/
- protected final long getLimit() {
+ protected long getLimit() {
if (_getOwner() instanceof BucketRegion) {
BucketRegion bucketRegion = (BucketRegion) _getOwner();
return bucketRegion.getLimit();
@@ -398,7 +398,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
return _getLruList().stats().getLimit();
}
- public final LRUStatistics getLRUStatistics() {
+ public LRUStatistics getLRUStatistics() {
return _getLruList().stats();
}
@@ -408,7 +408,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
*
* @return The current size of all the entries.
*/
- protected final long getTotalEntrySize() {
+ protected long getTotalEntrySize() {
if (_getOwnerObject() instanceof BucketRegion) {
BucketRegion bucketRegion = (BucketRegion) _getOwner();
return bucketRegion.getCounter();
@@ -417,7 +417,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
}
@Override
- public final void lruUpdateCallback() {
+ public void lruUpdateCallback() {
final boolean isDebugEnabled_LRU = logger.isTraceEnabled(LogMarker.LRU);
if (getCallbackDisabled()) {
@@ -638,7 +638,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
*/
// TODO this method acts as LRUupdateCallbacks
// do we need to put it here are insert one level up
- public final void updateStats() {
+ public void updateStats() {
final int delta = getDelta();
resetThreadLocals();
if (logger.isTraceEnabled(LogMarker.LRU)) {
@@ -652,7 +652,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
}
@Override
- public final boolean disableLruUpdateCallback() {
+ public boolean disableLruUpdateCallback() {
if (getCallbackDisabled()) {
return false;
} else {
@@ -662,29 +662,29 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
}
@Override
- public final void enableLruUpdateCallback() {
+ public void enableLruUpdateCallback() {
setCallbackDisabled(false);
}
// TODO rebalancing these methods are new on the
// rebalancing branch but never used???
- public final void disableLruUpdateCallbackForInline() {
+ public void disableLruUpdateCallbackForInline() {
setCallbackDisabled(true);
}
- public final void enableLruUpdateCallbackForInline() {
+ public void enableLruUpdateCallbackForInline() {
setCallbackDisabled(false);
}
@Override
- public final void resetThreadLocals() {
+ public void resetThreadLocals() {
mustRemove.set(null);
lruDelta.set(null);
callbackDisabled.set(null);
}
@Override
- public final Set<VersionSource> clear(RegionVersionVector rvv) {
+ public Set<VersionSource> clear(RegionVersionVector rvv) {
_getLruList().clear(rvv);
return super.clear(rvv);
}
@@ -725,7 +725,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
*
*/
@Override
- protected final void lruEntryCreate(RegionEntry re) {
+ protected void lruEntryCreate(RegionEntry re) {
LRUEntry e = (LRUEntry) re;
// Assert.assertFalse(e._getValue() instanceof DiskEntry.RecoveredEntry)
if (logger.isTraceEnabled(LogMarker.LRU)) {
@@ -746,7 +746,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
}
@Override
- protected final void lruEntryUpdate(RegionEntry re) {
+ protected void lruEntryUpdate(RegionEntry re) {
final LRUEntry e = (LRUEntry) re;
setDelta(e.updateEntrySize(_getCCHelper()));
if (logger.isDebugEnabled()) {
@@ -788,7 +788,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
}
@Override
- protected final void lruEntryDestroy(RegionEntry re) {
+ protected void lruEntryDestroy(RegionEntry re) {
final LRUEntry e = (LRUEntry) re;
if (logger.isTraceEnabled(LogMarker.LRU)) {
logger.trace(LogMarker.LRU,
@@ -821,7 +821,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
* Called by DiskEntry.Helper.faultInValue
*/
@Override
- public final void lruEntryFaultIn(LRUEntry e) {
+ public void lruEntryFaultIn(LRUEntry e) {
if (logger.isDebugEnabled()) {
logger.debug("lruEntryFaultIn for key={} size={}", e.getKey(), e.getEntrySize());
}
@@ -841,7 +841,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
}
@Override
- public final void decTxRefCount(RegionEntry re) {
+ public void decTxRefCount(RegionEntry re) {
LocalRegion lr = null;
if (_isOwnerALocalRegion()) {
lr = _getOwner();
@@ -850,7 +850,7 @@ public abstract class AbstractLRURegionMap extends AbstractRegionMap {
}
@Override
- public final boolean lruLimitExceeded(DiskRegionView drv) {
+ public boolean lruLimitExceeded(DiskRegionView drv) {
return _getCCHelper().lruLimitExceeded(_getLruList().stats(), drv);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
index 0d03469..ac5fb37 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
@@ -347,32 +347,32 @@ public abstract class AbstractRegion implements Region, RegionAttributes, Attrib
EntryEventImpl clientEvent) throws TimeoutException, CacheLoaderException;
@Override
- public final void localDestroy(Object key) throws EntryNotFoundException {
+ public void localDestroy(Object key) throws EntryNotFoundException {
localDestroy(key, null);
}
@Override
- public final void destroyRegion() throws CacheWriterException, TimeoutException {
+ public void destroyRegion() throws CacheWriterException, TimeoutException {
destroyRegion(null);
}
@Override
- public final void invalidate(Object key) throws TimeoutException, EntryNotFoundException {
+ public void invalidate(Object key) throws TimeoutException, EntryNotFoundException {
invalidate(key, null);
}
@Override
- public final void localInvalidate(Object key) throws EntryNotFoundException {
+ public void localInvalidate(Object key) throws EntryNotFoundException {
localInvalidate(key, null);
}
@Override
- public final void localInvalidateRegion() {
+ public void localInvalidateRegion() {
localInvalidateRegion(null);
}
@Override
- public final void invalidateRegion() throws TimeoutException {
+ public void invalidateRegion() throws TimeoutException {
invalidateRegion(null);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
index e0fc27c..2a337ed 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
@@ -152,23 +152,23 @@ public abstract class AbstractRegionMap implements RegionMap {
}
@Override
- public final void setEntryFactory(RegionEntryFactory f) {
+ public void setEntryFactory(RegionEntryFactory f) {
this.entryFactory = f;
}
- public final RegionEntryFactory getEntryFactory() {
+ public RegionEntryFactory getEntryFactory() {
return this.entryFactory;
}
- protected final void _setAttributes(Attributes a) {
+ protected void _setAttributes(Attributes a) {
this.attr = a;
}
- public final Attributes getAttributes() {
+ public Attributes getAttributes() {
return this.attr;
}
- protected final LocalRegion _getOwner() {
+ protected LocalRegion _getOwner() {
return (LocalRegion) this.owner;
}
@@ -176,19 +176,19 @@ public abstract class AbstractRegionMap implements RegionMap {
return this.owner instanceof LocalRegion;
}
- protected final Object _getOwnerObject() {
+ protected Object _getOwnerObject() {
return this.owner;
}
- public final void setOwner(Object r) {
+ public void setOwner(Object r) {
this.owner = r;
}
- protected final CustomEntryConcurrentHashMap<Object, Object> _getMap() {
+ protected CustomEntryConcurrentHashMap<Object, Object> _getMap() {
return this.map;
}
- protected final void _setMap(CustomEntryConcurrentHashMap<Object, Object> m) {
+ protected void _setMap(CustomEntryConcurrentHashMap<Object, Object> m) {
this.map = m;
}
@@ -221,7 +221,7 @@ public abstract class AbstractRegionMap implements RegionMap {
return (Collection) _getMap().values();
}
- public final boolean containsKey(Object key) {
+ public boolean containsKey(Object key) {
RegionEntry re = getEntry(key);
if (re == null) {
return false;
@@ -243,12 +243,12 @@ public abstract class AbstractRegionMap implements RegionMap {
@Override
- public final RegionEntry getEntryInVM(Object key) {
+ public RegionEntry getEntryInVM(Object key) {
return (RegionEntry) _getMap().get(key);
}
- public final RegionEntry putEntryIfAbsent(Object key, RegionEntry re) {
+ public RegionEntry putEntryIfAbsent(Object key, RegionEntry re) {
RegionEntry oldRe = (RegionEntry) _getMap().putIfAbsent(key, re);
if (oldRe == null && (re instanceof OffHeapRegionEntry) && _isOwnerALocalRegion()
&& _getOwner().isThisRegionBeingClosedOrDestroyed()) {
@@ -265,13 +265,13 @@ public abstract class AbstractRegionMap implements RegionMap {
}
@Override
- public final RegionEntry getOperationalEntryInVM(Object key) {
+ public RegionEntry getOperationalEntryInVM(Object key) {
RegionEntry re = (RegionEntry) _getMap().get(key);
return re;
}
- public final void removeEntry(Object key, RegionEntry re, boolean updateStat) {
+ public void removeEntry(Object key, RegionEntry re, boolean updateStat) {
if (re.isTombstone() && _getMap().get(key) == re) {
logger.fatal(
LocalizedMessage.create(LocalizedStrings.AbstractRegionMap_ATTEMPT_TO_REMOVE_TOMBSTONE),
@@ -286,7 +286,7 @@ public abstract class AbstractRegionMap implements RegionMap {
}
}
- public final void removeEntry(Object key, RegionEntry re, boolean updateStat,
+ public void removeEntry(Object key, RegionEntry re, boolean updateStat,
EntryEventImpl event, final LocalRegion owner) {
boolean success = false;
if (re.isTombstone() && _getMap().get(key) == re) {
@@ -304,7 +304,7 @@ public abstract class AbstractRegionMap implements RegionMap {
}
}
- protected final void incEntryCount(int delta) {
+ protected void incEntryCount(int delta) {
LocalRegion lr = _getOwner();
if (lr != null) {
CachePerfStats stats = lr.getCachePerfStats();
@@ -314,7 +314,7 @@ public abstract class AbstractRegionMap implements RegionMap {
}
}
- final void incClearCount(LocalRegion lr) {
+ void incClearCount(LocalRegion lr) {
if (lr != null && !(lr instanceof HARegion)) {
CachePerfStats stats = lr.getCachePerfStats();
if (stats != null) {
@@ -640,7 +640,7 @@ public abstract class AbstractRegionMap implements RegionMap {
}
@Retained // Region entry may contain an off-heap value
- public final RegionEntry initRecoveredEntry(Object key, DiskEntry.RecoveredEntry value) {
+ public RegionEntry initRecoveredEntry(Object key, DiskEntry.RecoveredEntry value) {
boolean needsCallback = false;
@Retained
RegionEntry newRe =
@@ -696,7 +696,7 @@ public abstract class AbstractRegionMap implements RegionMap {
return newRe;
}
- public final RegionEntry updateRecoveredEntry(Object key, DiskEntry.RecoveredEntry value) {
+ public RegionEntry updateRecoveredEntry(Object key, DiskEntry.RecoveredEntry value) {
boolean needsCallback = false;
RegionEntry re = getEntry(key);
if (re == null) {
@@ -755,7 +755,7 @@ public abstract class AbstractRegionMap implements RegionMap {
return re;
}
- public final boolean initialImagePut(final Object key, final long lastModified, Object newValue,
+ public boolean initialImagePut(final Object key, final long lastModified, Object newValue,
final boolean wasRecovered, boolean deferLRUCallback, VersionTag entryVersion,
InternalDistributedMember sender, boolean isSynchronizing) {
boolean result = false;
@@ -1023,7 +1023,7 @@ public abstract class AbstractRegionMap implements RegionMap {
return true;
}
- public final boolean destroy(EntryEventImpl event, boolean inTokenMode, boolean duringRI,
+ public boolean destroy(EntryEventImpl event, boolean inTokenMode, boolean duringRI,
boolean cacheWrite, boolean isEviction, Object expectedOldValue, boolean removeRecoveredEntry)
throws CacheWriterException, EntryNotFoundException, TimeoutException {
@@ -1555,7 +1555,7 @@ public abstract class AbstractRegionMap implements RegionMap {
return false;
}
- public final void txApplyDestroy(Object key, TransactionId txId, TXRmtEvent txEvent,
+ public void txApplyDestroy(Object key, TransactionId txId, TXRmtEvent txEvent,
boolean inTokenMode, boolean inRI, Operation op, EventID eventId, Object aCallbackArgument,
List<EntryEventImpl> pendingCallbacks, FilterRoutingInfo filterRoutingInfo,
ClientProxyMembershipID bridgeContext, boolean isOriginRemote, TXEntryState txEntryState,
@@ -1858,7 +1858,7 @@ public abstract class AbstractRegionMap implements RegionMap {
}
}
- public final boolean invalidate(EntryEventImpl event, boolean invokeCallbacks,
+ public boolean invalidate(EntryEventImpl event, boolean invokeCallbacks,
boolean forceNewEntry, boolean forceCallbacks) throws EntryNotFoundException {
final boolean isDebugEnabled = logger.isDebugEnabled();
@@ -2344,7 +2344,7 @@ public abstract class AbstractRegionMap implements RegionMap {
}
}
- public final void txApplyInvalidate(Object key, Object newValue, boolean didDestroy,
+ public void txApplyInvalidate(Object key, Object newValue, boolean didDestroy,
TransactionId txId, TXRmtEvent txEvent, boolean localOp, EventID eventId,
Object aCallbackArgument, List<EntryEventImpl> pendingCallbacks,
FilterRoutingInfo filterRoutingInfo, ClientProxyMembershipID bridgeContext,
@@ -3510,7 +3510,7 @@ public abstract class AbstractRegionMap implements RegionMap {
/** create a callback event for applying a transactional change to the local cache */
@Retained
- public static final EntryEventImpl createCBEvent(final LocalRegion re, Operation op, Object key,
+ public static EntryEventImpl createCBEvent(final LocalRegion re, Operation op, Object key,
Object newValue, TransactionId txId, TXRmtEvent txEvent, EventID eventId,
Object aCallbackArgument, FilterRoutingInfo filterRoutingInfo,
ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag,
@@ -3614,7 +3614,7 @@ public abstract class AbstractRegionMap implements RegionMap {
}
}
- public final void writeSyncIfPresent(Object key, Runnable runner) {
+ public void writeSyncIfPresent(Object key, Runnable runner) {
RegionEntry re = getEntry(key);
if (re != null) {
final boolean disabled = disableLruUpdateCallback();
@@ -3638,7 +3638,7 @@ public abstract class AbstractRegionMap implements RegionMap {
}
}
- public final void removeIfDestroyed(Object key) {
+ public void removeIfDestroyed(Object key) {
LocalRegion owner = _getOwner();
// boolean makeTombstones = owner.concurrencyChecksEnabled;
DiskRegion dr = owner.getDiskRegion();
@@ -3732,7 +3732,7 @@ public abstract class AbstractRegionMap implements RegionMap {
*
* @param entry the entry to attempt to add to the system
*/
- protected final RegionEntry putEntryIfAbsentForTest(RegionEntry entry) {
+ protected RegionEntry putEntryIfAbsentForTest(RegionEntry entry) {
return (RegionEntry) putEntryIfAbsent(entry.getKey(), entry);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
index 26fdde5..14e276a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
@@ -82,7 +82,7 @@ public abstract class AbstractUpdateOperation extends DistributedCacheOperation
Boolean.getBoolean("GemFire.ALWAYS_REPLICATE_UPDATES");
/** @return whether we should do a local create for a remote one */
- private static final boolean shouldDoRemoteCreate(LocalRegion rgn, EntryEventImpl ev) {
+ private static boolean shouldDoRemoteCreate(LocalRegion rgn, EntryEventImpl ev) {
DataPolicy dp = rgn.getAttributes().getDataPolicy();
if (!rgn.isAllEvents() || (dp.withReplication() && rgn.isInitialized()
&& ev.getOperation().isUpdate() && !rgn.concurrencyChecksEnabled // misordered CREATE and
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java
index f2640cd..04a48d0 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java
@@ -842,7 +842,7 @@ public class BucketAdvisor extends CacheDistributionAdvisor {
*
* @return the member who is primary for this bucket
*/
- public final InternalDistributedMember getPrimary() {
+ public InternalDistributedMember getPrimary() {
InternalDistributedMember primary = getExistingPrimary();
if (primary == null) {
primary = waitForNewPrimary();
@@ -857,7 +857,7 @@ public class BucketAdvisor extends CacheDistributionAdvisor {
* @see #getPrimary()
* @return the existing primary (if it is still in the view) otherwise null
*/
- private final InternalDistributedMember getExistingPrimary() {
+ private InternalDistributedMember getExistingPrimary() {
return basicGetPrimaryMember();
}
@@ -865,7 +865,7 @@ public class BucketAdvisor extends CacheDistributionAdvisor {
* If the current member is primary for this bucket return true, otherwise, give some time for the
* current member to become primary and then return whether it is a primary (true/false).
*/
- public final boolean isPrimaryWithWait() {
+ public boolean isPrimaryWithWait() {
if (this.isPrimary()) {
return true;
}
@@ -884,7 +884,7 @@ public class BucketAdvisor extends CacheDistributionAdvisor {
* @see #getPrimary()
* @return the new primary
*/
- private final InternalDistributedMember waitForNewPrimary() {
+ private InternalDistributedMember waitForNewPrimary() {
DM dm = this.regionAdvisor.getDistributionManager();
DistributionConfig config = dm.getConfig();
// failure detection period
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
index 7ed1e3b..37974ab 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
@@ -106,7 +106,7 @@ public class BucketRegion extends DistributedRegion implements Bucket {
this.rawValue = rawVal;
}
- public final boolean isValueByteArray() {
+ public boolean isValueByteArray() {
return this.rawValue instanceof byte[];
}
@@ -1017,7 +1017,7 @@ public class BucketRegion extends DistributedRegion implements Bucket {
}
@Override
- final void performExpiryTimeout(ExpiryTask expiryTask) throws CacheException {
+ void performExpiryTimeout(ExpiryTask expiryTask) throws CacheException {
ExpiryTask task = expiryTask;
boolean isEvictDestroy = isEntryEvictDestroyEnabled();
// Fix for bug 43805 - get the primary lock before
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/BytesAndBitsForCompactor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BytesAndBitsForCompactor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BytesAndBitsForCompactor.java
index 104cf18..0c8f5fb 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/BytesAndBitsForCompactor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BytesAndBitsForCompactor.java
@@ -52,19 +52,19 @@ public class BytesAndBitsForCompactor {
}
- public final StoredObject getOffHeapData() {
+ public StoredObject getOffHeapData() {
return this.offHeapData;
}
- public final byte[] getBytes() {
+ public byte[] getBytes() {
return this.data;
}
- public final byte getBits() {
+ public byte getBits() {
return this.userBits;
}
- public final int getValidLength() {
+ public int getValidLength() {
return this.validLength;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/CacheObserverHolder.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/CacheObserverHolder.java b/geode-core/src/main/java/org/apache/geode/internal/cache/CacheObserverHolder.java
index 033f530..701c93e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/CacheObserverHolder.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/CacheObserverHolder.java
@@ -56,7 +56,7 @@ public class CacheObserverHolder {
/**
* Set the given observer to be notified of query events. Returns the current observer.
*/
- public static final CacheObserver setInstance(CacheObserver observer) {
+ public static CacheObserver setInstance(CacheObserver observer) {
if (observer == null)
observer = NO_OBSERVER;
CacheObserver oldObserver = _instance;
@@ -65,7 +65,7 @@ public class CacheObserverHolder {
}
/** Return the current QueryObserver instance */
- public static final CacheObserver getInstance() {
+ public static CacheObserver getInstance() {
return _instance;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/CacheServerLauncher.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/CacheServerLauncher.java b/geode-core/src/main/java/org/apache/geode/internal/cache/CacheServerLauncher.java
index 6bfb0f3..ab53ca4 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/CacheServerLauncher.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/CacheServerLauncher.java
@@ -274,7 +274,7 @@ public class CacheServerLauncher {
public static final String EVICTION_OFF_HEAP_PERCENTAGE = "eviction-off-heap-percentage";
protected static final String LOCK_MEMORY = ConfigurationProperties.LOCK_MEMORY;
- protected final File processDirOption(final Map<String, Object> options, final String dirValue)
+ protected File processDirOption(final Map<String, Object> options, final String dirValue)
throws FileNotFoundException {
final File inputWorkingDirectory = new File(dirValue);
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/ClientServerObserverHolder.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ClientServerObserverHolder.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ClientServerObserverHolder.java
index 1aeb61b..3964cd7 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ClientServerObserverHolder.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ClientServerObserverHolder.java
@@ -38,7 +38,7 @@ public class ClientServerObserverHolder {
/**
* Set the given observer to be notified of events. Returns the current observer.
*/
- public static final ClientServerObserver setInstance(ClientServerObserver observer) {
+ public static ClientServerObserver setInstance(ClientServerObserver observer) {
Support.assertArg(observer != null, "setInstance expects a non-null argument!");
ClientServerObserver oldObserver = _instance;
_instance = observer;
@@ -46,7 +46,7 @@ public class ClientServerObserverHolder {
}
/** Return the current BridgeObserver instance */
- public static final ClientServerObserver getInstance() {
+ public static ClientServerObserver getInstance() {
return _instance;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DestroyRegionOperation.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DestroyRegionOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DestroyRegionOperation.java
index 68b1ae8..53efa4f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DestroyRegionOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DestroyRegionOperation.java
@@ -471,7 +471,7 @@ public class DestroyRegionOperation extends DistributedCacheOperation {
protected transient Object context;
@Override
- final public RegionEventImpl createRegionEvent(DistributedRegion rgn) {
+ public RegionEventImpl createRegionEvent(DistributedRegion rgn) {
return new ClientRegionEventImpl(rgn, getOperation(), this.callbackArg,
true /* originRemote */, getSender(), (ClientProxyMembershipID) this.context);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DiskRegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DiskRegion.java
index f8b8289..36dc309 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DiskRegion.java
@@ -205,7 +205,7 @@ public class DiskRegion extends AbstractDiskRegion {
}
@Override
- public final String getName() {
+ public String getName() {
return this.name;
}
@@ -239,11 +239,11 @@ public class DiskRegion extends AbstractDiskRegion {
* method does any work is when backup is true and recovery data was discovered when this disk
* region was created.
*/
- final void initializeOwner(LocalRegion drs) {
+ void initializeOwner(LocalRegion drs) {
getDiskStore().initializeOwner(drs);
}
- final void finishInitializeOwner(LocalRegion drs, GIIStatus giiStatus) {
+ void finishInitializeOwner(LocalRegion drs, GIIStatus giiStatus) {
if (isReadyForRecovery()) {
// this.scheduleCompaction();
if (GIIStatus.didFullGII(giiStatus)) {
@@ -345,7 +345,7 @@ public class DiskRegion extends AbstractDiskRegion {
* completed successfully, resulting in the put operation to abort.
* @throws IllegalArgumentException If <code>id</code> is less than zero
*/
- final void put(DiskEntry entry, LocalRegion region, ValueWrapper value, boolean async)
+ void put(DiskEntry entry, LocalRegion region, ValueWrapper value, boolean async)
throws RegionClearedException {
getDiskStore().put(region, entry, value, async);
}
@@ -356,7 +356,7 @@ public class DiskRegion extends AbstractDiskRegion {
*
* @see #getBytesAndBitsWithoutLock(DiskId, boolean, boolean)
*/
- final Object get(DiskId id) {
+ Object get(DiskId id) {
return getDiskStore().get(this, id);
}
@@ -368,25 +368,25 @@ public class DiskRegion extends AbstractDiskRegion {
* @param id DiskId object for the entry
* @return value of the entry
*/
- final BytesAndBits getBytesAndBitsWithoutLock(DiskId id, boolean faultIn, boolean bitOnly) {
+ BytesAndBits getBytesAndBitsWithoutLock(DiskId id, boolean faultIn, boolean bitOnly) {
return getDiskStore().getBytesAndBitsWithoutLock(this, id, faultIn, bitOnly);
}
/**
* @since GemFire 3.2.1
*/
- final BytesAndBits getBytesAndBits(DiskId id) {
+ BytesAndBits getBytesAndBits(DiskId id) {
return getBytesAndBits(id, true);
}
- final BytesAndBits getBytesAndBits(DiskId id, boolean faultingIn) {
+ BytesAndBits getBytesAndBits(DiskId id, boolean faultingIn) {
return getDiskStore().getBytesAndBits(this, id, faultingIn);
}
/**
* @since GemFire 3.2.1
*/
- final byte getBits(DiskId id) {
+ byte getBits(DiskId id) {
return getDiskStore().getBits(this, id);
}
@@ -401,7 +401,7 @@ public class DiskRegion extends AbstractDiskRegion {
* @return null if entry has nothing stored on disk (id == INVALID_ID)
* @throws IllegalArgumentException If <code>id</code> is less than zero, no action is taken.
*/
- public final Object getNoBuffer(DiskId id) {
+ public Object getNoBuffer(DiskId id) {
return getDiskStore().getNoBuffer(this, id);
}
@@ -413,11 +413,11 @@ public class DiskRegion extends AbstractDiskRegion {
* @throws IllegalArgumentException If <code>id</code> is {@linkplain #INVALID_ID invalid}or is
* less than zero, no action is taken.
*/
- final void remove(LocalRegion region, DiskEntry entry) throws RegionClearedException {
+ void remove(LocalRegion region, DiskEntry entry) throws RegionClearedException {
getDiskStore().remove(region, entry, false, false);
}
- final void remove(LocalRegion region, DiskEntry entry, boolean async, boolean isClear)
+ void remove(LocalRegion region, DiskEntry entry, boolean async, boolean isClear)
throws RegionClearedException {
getDiskStore().remove(region, entry, async, isClear);
}
@@ -539,7 +539,7 @@ public class DiskRegion extends AbstractDiskRegion {
/**
* returns the active child
*/
- final Oplog testHook_getChild() {
+ Oplog testHook_getChild() {
return getDiskStore().persistentOplogs.getChild();
}
@@ -611,7 +611,7 @@ public class DiskRegion extends AbstractDiskRegion {
/** ThreadLocal to be used for maintaining consistency during clear* */
private final ThreadLocal<Integer> childReference = new ThreadLocal<Integer>();
- final void incClearCount() {
+ void incClearCount() {
this.clearCount.incrementAndGet();
}
@@ -733,7 +733,7 @@ public class DiskRegion extends AbstractDiskRegion {
return getOplogSet().getNextDir();
}
- final long newOplogEntryId() {
+ long newOplogEntryId() {
return getOplogSet().newOplogEntryId();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java
index aeabbbc..67fcce8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java
@@ -593,7 +593,7 @@ public class DiskStoreImpl implements DiskStore {
* Initializes the contents of any regions on this DiskStore that have been registered but are not
* yet initialized.
*/
- final void initializeOwner(LocalRegion lr) {
+ void initializeOwner(LocalRegion lr) {
DiskRegion dr = lr.getDiskRegion();
// We don't need to do recovery for overflow regions.
if (!lr.getDataPolicy().withPersistence() || !dr.isRecreated()) {
@@ -686,7 +686,7 @@ public class DiskStoreImpl implements DiskStore {
* completed successfully, resulting in the put operation to abort.
* @throws IllegalArgumentException If {@code id} is less than zero
*/
- final void put(LocalRegion region, DiskEntry entry, ValueWrapper value, boolean async)
+ void put(LocalRegion region, DiskEntry entry, ValueWrapper value, boolean async)
throws RegionClearedException {
DiskRegion dr = region.getDiskRegion();
DiskId id = entry.getDiskId();
@@ -754,7 +754,7 @@ public class DiskStoreImpl implements DiskStore {
}
}
- final void putVersionTagOnly(LocalRegion region, VersionTag tag, boolean async) {
+ void putVersionTagOnly(LocalRegion region, VersionTag tag, boolean async) {
DiskRegion dr = region.getDiskRegion();
// this method will only be called by backup oplog
assert dr.isBackup();
@@ -792,7 +792,7 @@ public class DiskStoreImpl implements DiskStore {
* {@linkplain DiskRegionStats statistics}
*
*/
- final Object get(DiskRegion dr, DiskId id) {
+ Object get(DiskRegion dr, DiskId id) {
acquireReadLock(dr);
try {
int count = 0;
@@ -851,7 +851,7 @@ public class DiskStoreImpl implements DiskStore {
*
* @return an instance of BytesAndBits or Token.REMOVED_PHASE1
*/
- final Object getRaw(DiskRegionView dr, DiskId id) {
+ Object getRaw(DiskRegionView dr, DiskId id) {
if (dr.isRegionClosed()) {
throw new RegionDestroyedException(
LocalizedStrings.DiskRegion_THE_DISKREGION_HAS_BEEN_CLOSED_OR_DESTROYED
@@ -926,7 +926,7 @@ public class DiskStoreImpl implements DiskStore {
* @return value of the entry or CLEAR_BB if it is detected that the entry was removed by a
* concurrent region clear.
*/
- final BytesAndBits getBytesAndBitsWithoutLock(DiskRegionView dr, DiskId id, boolean faultIn,
+ BytesAndBits getBytesAndBitsWithoutLock(DiskRegionView dr, DiskId id, boolean faultIn,
boolean bitOnly) {
long oplogId = id.getOplogId();
OplogSet oplogSet = getOplogSet(dr);
@@ -943,7 +943,7 @@ public class DiskStoreImpl implements DiskStore {
return oplog.getBytesAndBits(dr, id, faultIn, bitOnly);
}
- final BytesAndBits getBytesAndBits(DiskRegion dr, DiskId id, boolean faultingIn) {
+ BytesAndBits getBytesAndBits(DiskRegion dr, DiskId id, boolean faultingIn) {
acquireReadLock(dr);
try {
if (dr.isRegionClosed()) {
@@ -977,7 +977,7 @@ public class DiskStoreImpl implements DiskStore {
/**
* @since GemFire 3.2.1
*/
- final byte getBits(DiskRegion dr, DiskId id) {
+ byte getBits(DiskRegion dr, DiskId id) {
acquireReadLock(dr);
try {
if (dr.isRegionClosed()) {
@@ -1016,7 +1016,7 @@ public class DiskStoreImpl implements DiskStore {
* @return null if entry has nothing stored on disk (id == INVALID_ID)
* @throws IllegalArgumentException If {@code id} is less than zero, no action is taken.
*/
- public final Object getNoBuffer(DiskRegion dr, DiskId id) {
+ public Object getNoBuffer(DiskRegion dr, DiskId id) {
BytesAndBits bb = null;
acquireReadLock(dr);
try {
@@ -1055,7 +1055,7 @@ public class DiskStoreImpl implements DiskStore {
* @throws IllegalArgumentException If {@code id} is {@linkplain #INVALID_ID invalid}or is less
* than zero, no action is taken.
*/
- final void remove(LocalRegion region, DiskEntry entry, boolean async, boolean isClear)
+ void remove(LocalRegion region, DiskEntry entry, boolean async, boolean isClear)
throws RegionClearedException {
DiskRegion dr = region.getDiskRegion();
if (!async) {
@@ -2009,7 +2009,7 @@ public class DiskStoreImpl implements DiskStore {
/**
* Reads the oplogs files and loads them into regions that are ready to be recovered.
*/
- public final void recoverRegionsThatAreReady() {
+ public void recoverRegionsThatAreReady() {
persistentOplogs.recoverRegionsThatAreReady();
}
@@ -2052,7 +2052,7 @@ public class DiskStoreImpl implements DiskStore {
private final boolean isCompactionPossible;
- final boolean isCompactionPossible() {
+ boolean isCompactionPossible() {
return this.isCompactionPossible;
}
@@ -2311,7 +2311,7 @@ public class DiskStoreImpl implements DiskStore {
}
}
- final DiskAccessException getDiskAccessException() {
+ DiskAccessException getDiskAccessException() {
return diskException.get();
}
@@ -4728,11 +4728,11 @@ public class DiskStoreImpl implements DiskStore {
oplogSet.updateDiskRegion(dr);
}
- public final Version getRecoveredGFVersion() {
+ public Version getRecoveredGFVersion() {
return getRecoveredGFVersion(this.initFile);
}
- final Version getRecoveredGFVersion(DiskInitFile initFile) {
+ Version getRecoveredGFVersion(DiskInitFile initFile) {
return initFile.currentRecoveredGFVersion();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DistPeerTXStateStub.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistPeerTXStateStub.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistPeerTXStateStub.java
index a2eeaed..6411353 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistPeerTXStateStub.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistPeerTXStateStub.java
@@ -113,7 +113,7 @@ public class DistPeerTXStateStub extends PeerTXStateStub implements DistTXCoordi
return primaryTransactionalOperations;
}
- private final void addPrimaryTransactionalOperations(DistTxEntryEvent dtop) {
+ private void addPrimaryTransactionalOperations(DistTxEntryEvent dtop) {
if (logger.isDebugEnabled()) {
// [DISTTX] TODO Remove these
logger.debug("DistPeerTXStateStub.addPrimaryTransactionalOperations add " + dtop
@@ -128,7 +128,7 @@ public class DistPeerTXStateStub extends PeerTXStateStub implements DistTXCoordi
}
@Override
- public final void addSecondaryTransactionalOperations(DistTxEntryEvent dtop)
+ public void addSecondaryTransactionalOperations(DistTxEntryEvent dtop)
throws UnsupportedOperationInTransactionException {
secondaryTransactionalOperations.add(dtop);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXStateOnCoordinator.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXStateOnCoordinator.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXStateOnCoordinator.java
index ca5764a..4517eb8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXStateOnCoordinator.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXStateOnCoordinator.java
@@ -45,12 +45,12 @@ public class DistTXStateOnCoordinator extends DistTXState implements DistTXCoord
secondaryTransactionalOperations = new ArrayList<DistTxEntryEvent>();
}
- public final ArrayList<DistTxEntryEvent> getPrimaryTransactionalOperations()
+ public ArrayList<DistTxEntryEvent> getPrimaryTransactionalOperations()
throws UnsupportedOperationInTransactionException {
return primaryTransactionalOperations;
}
- private final void addPrimaryTransactionalOperations(DistTxEntryEvent dtop) {
+ private void addPrimaryTransactionalOperations(DistTxEntryEvent dtop) {
if (logger.isDebugEnabled()) {
// [DISTTX] TODO Remove these
logger.debug("DistTXStateOnCoordinator.addPrimaryTransactionalOperations add " + dtop
@@ -74,7 +74,7 @@ public class DistTXStateOnCoordinator extends DistTXState implements DistTXCoord
}
}
- public final void addSecondaryTransactionalOperations(DistTxEntryEvent dtop)
+ public void addSecondaryTransactionalOperations(DistTxEntryEvent dtop)
throws UnsupportedOperationInTransactionException {
secondaryTransactionalOperations.add(dtop);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedCacheOperation.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedCacheOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedCacheOperation.java
index 7ba7d0c..6c33c65 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedCacheOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedCacheOperation.java
@@ -804,11 +804,11 @@ public abstract class DistributedCacheOperation {
return getRegion().scope.isAck();
}
- protected final DistributedRegion getRegion() {
+ protected DistributedRegion getRegion() {
return (DistributedRegion) this.event.getRegion();
}
- protected final EntryEventImpl getEvent() {
+ protected EntryEventImpl getEvent() {
return (EntryEventImpl) this.event;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedClearOperation.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedClearOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedClearOperation.java
index 9f26cc9..b00612a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedClearOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedClearOperation.java
@@ -268,7 +268,7 @@ public class DistributedClearOperation extends DistributedCacheOperation {
@Override
- final public RegionEventImpl createRegionEvent(DistributedRegion rgn) {
+ public RegionEventImpl createRegionEvent(DistributedRegion rgn) {
ClientRegionEventImpl event = new ClientRegionEventImpl(rgn, getOperation(), this.callbackArg,
true /* originRemote */, getSender(), (ClientProxyMembershipID) this.context);
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java
index 7e76981..c26cd56 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java
@@ -398,7 +398,7 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation {
* {@link PutAllPRMessage#toData(DataOutput)} <br>
* {@link RemotePutAllMessage#toData(DataOutput)} <br>
*/
- public final void toData(final DataOutput out) throws IOException {
+ public void toData(final DataOutput out) throws IOException {
Object key = this.key;
final Object v = this.value;
DataSerializer.writeObject(key, out);
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java
index e20a2c4..485835b 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java
@@ -1969,7 +1969,7 @@ public class DistributedRegion extends LocalRegion implements CacheDistributionA
super.basicLocalClear(rEvent);
}
- public final DistributionConfig getDistributionConfig() {
+ public DistributionConfig getDistributionConfig() {
return getSystem().getDistributionManager().getConfig();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegionFunctionStreamingMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegionFunctionStreamingMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegionFunctionStreamingMessage.java
index 9d85008..870e778 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegionFunctionStreamingMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegionFunctionStreamingMessage.java
@@ -399,7 +399,7 @@ public class DistributedRegionFunctionStreamingMessage extends DistributionMessa
}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.REGION_FUNCTION_EXECUTION_EXECUTOR;
}
@@ -421,7 +421,7 @@ public class DistributedRegionFunctionStreamingMessage extends DistributionMessa
return txUniqId;
}
- public final InternalDistributedMember getMemberToMasqueradeAs() {
+ public InternalDistributedMember getMemberToMasqueradeAs() {
if (txMemberId == null) {
return getSender();
} else {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java
index 5a1b1be..42bf10f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java
@@ -369,7 +369,7 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation // TO
* {@link PutAllPRMessage#toData(DataOutput)} <br>
* {@link RemotePutAllMessage#toData(DataOutput)} <br>
*/
- public final void toData(final DataOutput out) throws IOException {
+ public void toData(final DataOutput out) throws IOException {
Object key = this.key;
DataSerializer.writeObject(key, out);
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/EntriesSet.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EntriesSet.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EntriesSet.java
index 76e9081..6d26c08 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/EntriesSet.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EntriesSet.java
@@ -61,7 +61,7 @@ public class EntriesSet extends AbstractSet {
this.allowTombstones = allowTombstones;
}
- protected final void checkTX() {
+ protected void checkTX() {
if (this.myTX != null) {
if (!myTX.isInProgress()) {
throw new IllegalStateException(
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
index 3cb5bbd..7eb7697 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
@@ -491,11 +491,11 @@ public class EntryEventImpl
return result;
}
- private final boolean testEventFlag(short mask) {
+ private boolean testEventFlag(short mask) {
return EventFlags.isSet(this.eventFlags, mask);
}
- private final void setEventFlag(short mask, boolean on) {
+ private void setEventFlag(short mask, boolean on) {
this.eventFlags = EventFlags.set(this.eventFlags, mask, on);
}
@@ -603,19 +603,19 @@ public class EntryEventImpl
return this.op.isEviction();
}
- public final void setEvicted() {
+ public void setEvicted() {
this.isEvicted = true;
}
- public final boolean isEvicted() {
+ public boolean isEvicted() {
return this.isEvicted;
}
- public final boolean isPendingSecondaryExpireDestroy() {
+ public boolean isPendingSecondaryExpireDestroy() {
return this.isPendingSecondaryExpireDestroy;
}
- public final void setPendingSecondaryExpireDestroy(boolean value) {
+ public void setPendingSecondaryExpireDestroy(boolean value) {
this.isPendingSecondaryExpireDestroy = value;
}
@@ -670,7 +670,7 @@ public class EntryEventImpl
*
* @return null if no event id has been set
*/
- public final EventID getEventId() {
+ public EventID getEventId() {
return this.eventID;
}
@@ -720,7 +720,7 @@ public class EntryEventImpl
*
* @return the value in the cache prior to this event.
*/
- public final Object getOldValue() {
+ public Object getOldValue() {
try {
if (isOriginRemote() && this.region.isProxy()) {
return null;
@@ -763,7 +763,7 @@ public class EntryEventImpl
* Like getRawNewValue except that if the result is an off-heap reference then copy it to the
* heap. Note: to prevent the heap copy use getRawNewValue instead
*/
- public final Object getRawNewValueAsHeapObject() {
+ public Object getRawNewValueAsHeapObject() {
Object result = basicGetNewValue();
if (mayHaveOffHeapReferences()) {
result = OffHeapHelper.copyIfNeeded(result);
@@ -777,7 +777,7 @@ public class EntryEventImpl
* lifetime of the EntryEventImpl instance that returned the value. Else return the raw form.
*/
@Unretained(ENTRY_EVENT_NEW_VALUE)
- public final Object getRawNewValue() {
+ public Object getRawNewValue() {
return basicGetNewValue();
}
@@ -809,7 +809,7 @@ public class EntryEventImpl
}
@Unretained
- protected final Object basicGetNewValue() {
+ protected Object basicGetNewValue() {
Object result = this.newValue;
if (!this.offHeapOk && isOffHeapReference(result)) {
// this.region.getCache().getLogger().info("DEBUG new value already freed " +
@@ -914,7 +914,7 @@ public class EntryEventImpl
* Like getRawOldValue except that if the result is an off-heap reference then copy it to the
* heap. To avoid the heap copy use getRawOldValue instead.
*/
- public final Object getRawOldValueAsHeapObject() {
+ public Object getRawOldValueAsHeapObject() {
Object result = basicGetOldValue();
if (mayHaveOffHeapReferences()) {
result = OffHeapHelper.copyIfNeeded(result);
@@ -928,7 +928,7 @@ public class EntryEventImpl
* lifetime of the EntryEventImpl instance that returned the value. Else return the raw form.
*/
@Unretained
- public final Object getRawOldValue() {
+ public Object getRawOldValue() {
return basicGetOldValue();
}
@@ -936,7 +936,7 @@ public class EntryEventImpl
* Just like getRawOldValue except if the raw old value is off-heap deserialize it.
*/
@Unretained(ENTRY_EVENT_OLD_VALUE)
- public final Object getOldValueAsOffHeapDeserializedOrRaw() {
+ public Object getOldValueAsOffHeapDeserializedOrRaw() {
Object result = basicGetOldValue();
if (mayHaveOffHeapReferences() && result instanceof StoredObject) {
result = ((CachedDeserializable) result).getDeserializedForReading();
@@ -957,7 +957,7 @@ public class EntryEventImpl
*
* @return the value in the cache after this event.
*/
- public final Object getNewValue() {
+ public Object getNewValue() {
boolean doCopyOnRead = getRegion().isCopyOnRead();
Object nv = basicGetNewValue();
@@ -1010,16 +1010,16 @@ public class EntryEventImpl
private final Object offHeapLock = new Object();
- public final String getNewValueStringForm() {
+ public String getNewValueStringForm() {
return StringUtils.forceToString(basicGetNewValue());
}
- public final String getOldValueStringForm() {
+ public String getOldValueStringForm() {
return StringUtils.forceToString(basicGetOldValue());
}
/** Set a deserialized value */
- public final void setNewValue(@Retained(ENTRY_EVENT_NEW_VALUE) Object obj) {
+ public void setNewValue(@Retained(ENTRY_EVENT_NEW_VALUE) Object obj) {
basicSetNewValue(obj);
}
@@ -1047,7 +1047,7 @@ public class EntryEventImpl
/**
* @see org.apache.geode.cache.CacheEvent#getRegion()
*/
- public final LocalRegion getRegion() {
+ public LocalRegion getRegion() {
return region;
}
@@ -1179,7 +1179,7 @@ public class EntryEventImpl
/**
* Export the event's new value to the given importer.
*/
- public final void exportNewValue(NewValueImporter importer) {
+ public void exportNewValue(NewValueImporter importer) {
final boolean prefersSerialized = importer.prefersNewSerialized();
if (prefersSerialized) {
if (getCachedSerializedNewValue() != null) {
@@ -1271,7 +1271,7 @@ public class EntryEventImpl
/**
* Export the event's old value to the given importer.
*/
- public final void exportOldValue(OldValueImporter importer) {
+ public void exportOldValue(OldValueImporter importer) {
final boolean prefersSerialized = importer.prefersOldSerialized();
if (prefersSerialized) {
if (this.oldValueBytes != null && this.oldValue instanceof CachedDeserializable) {
@@ -1310,7 +1310,7 @@ public class EntryEventImpl
* Just like getRawNewValue(true) except if the raw new value is off-heap deserialize it.
*/
@Unretained(ENTRY_EVENT_NEW_VALUE)
- public final Object getNewValueAsOffHeapDeserializedOrRaw() {
+ public Object getNewValueAsOffHeapDeserializedOrRaw() {
Object result = getRawNewValue();
if (mayHaveOffHeapReferences() && result instanceof StoredObject) {
result = ((CachedDeserializable) result).getDeserializedForReading();
@@ -1352,7 +1352,7 @@ public class EntryEventImpl
return result;
}
- public final Object getDeserializedValue() {
+ public Object getDeserializedValue() {
final Object val = basicGetNewValue();
if (val instanceof CachedDeserializable) {
return ((CachedDeserializable) val).getDeserializedForReading();
@@ -1361,7 +1361,7 @@ public class EntryEventImpl
}
}
- public final byte[] getSerializedValue() {
+ public byte[] getSerializedValue() {
if (this.newValueBytes == null) {
final Object val;
val = basicGetNewValue();
@@ -1392,7 +1392,7 @@ public class EntryEventImpl
/**
* @param isSynced true if RegionEntry currently under synchronization
*/
- private final void makeSerializedNewValue(boolean isSynced) {
+ private void makeSerializedNewValue(boolean isSynced) {
Object obj = basicGetNewValue();
// ezoerner:20080611 In the case where there is an unapplied
@@ -1448,7 +1448,7 @@ public class EntryEventImpl
return this.cachedSerializedNewValue;
}
- public final void setSerializedNewValue(byte[] serializedValue) {
+ public void setSerializedNewValue(byte[] serializedValue) {
Object newVal = null;
if (serializedValue != null) {
newVal = CachedDeserializableFactory.create(serializedValue);
@@ -1880,11 +1880,11 @@ public class EntryEventImpl
return tmp != null && tmp != Token.NOT_AVAILABLE;
}
- public final boolean hasOldValue() {
+ public boolean hasOldValue() {
return this.oldValue != null && this.oldValue != Token.NOT_AVAILABLE;
}
- public final boolean isOldValueAToken() {
+ public boolean isOldValueAToken() {
return this.oldValue instanceof Token;
}
@@ -2187,7 +2187,7 @@ public class EntryEventImpl
* @return null if old value is not serialized; otherwise returns a SerializedCacheValueImpl
* containing the old value.
*/
- public final SerializedCacheValue<?> getSerializedOldValue() {
+ public SerializedCacheValue<?> getSerializedOldValue() {
@Unretained(ENTRY_EVENT_OLD_VALUE)
final Object tmp = basicGetOldValue();
if (tmp instanceof CachedDeserializable) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/EntryExpiryTask.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryExpiryTask.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryExpiryTask.java
index 254fc88..45df435 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryExpiryTask.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryExpiryTask.java
@@ -181,7 +181,7 @@ public class EntryExpiryTask extends ExpiryTask {
}
@Override
- final protected void reschedule() throws CacheException {
+ protected void reschedule() throws CacheException {
if (isCacheClosing() || getLocalRegion().isClosed() || getLocalRegion().isDestroyed()
|| !isExpirationAllowed()) {
return;
[73/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java
index d6d664b..138b3da 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java
@@ -20,20 +20,14 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -57,7 +51,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMStatsDiskRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -65,45 +59,42 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -112,24 +103,29 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -139,12 +135,13 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -152,12 +149,12 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -167,60 +164,60 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -231,51 +228,59 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -283,24 +288,26 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -310,7 +317,7 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java
index 8ef1a20..67a2eea 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java
@@ -18,22 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -62,7 +54,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VMStatsDiskRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -70,55 +62,57 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -134,6 +128,7 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -151,7 +146,7 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -159,36 +154,41 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -198,12 +198,13 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -211,12 +212,12 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -226,60 +227,60 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -290,51 +291,59 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -342,30 +351,27 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -373,7 +379,7 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java
index cc49d3f..f218b04 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java
@@ -18,22 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -62,7 +54,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VMStatsDiskRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -70,57 +62,57 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -136,6 +128,7 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -153,7 +146,7 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -161,36 +154,41 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -200,12 +198,13 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -213,12 +212,12 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -228,60 +227,60 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -292,51 +291,59 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -344,23 +351,25 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -368,7 +377,7 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java
index 867edf3..21e755a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java
@@ -18,22 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -62,7 +54,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+ public VMStatsDiskRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -70,14 +62,14 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -88,35 +80,39 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -132,6 +128,7 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -149,7 +146,7 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -157,36 +154,41 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -196,12 +198,13 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -209,12 +212,12 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -224,60 +227,60 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -288,51 +291,61 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -340,19 +353,20 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java
index abab88f..95f48ed 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java
@@ -18,22 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -62,7 +54,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+ public VMStatsDiskRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -70,14 +62,14 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -85,14 +77,15 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -103,35 +96,39 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +144,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +162,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +170,41 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -211,12 +214,13 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -224,12 +228,12 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -239,60 +243,60 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -303,51 +307,61 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -355,39 +369,42 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -396,16 +413,16 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -413,7 +430,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -426,7 +443,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java
index e4d12a8..2363dca 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java
@@ -18,22 +18,14 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
@@ -62,7 +54,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+ public VMStatsDiskRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -70,14 +62,14 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -86,19 +78,20 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -115,35 +108,39 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -159,6 +156,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -176,7 +174,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -184,36 +182,41 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -223,12 +226,13 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -236,12 +240,12 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -251,60 +255,60 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -315,51 +319,61 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -367,16 +381,16 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -385,14 +399,17 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -400,7 +417,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -410,10 +427,10 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -424,17 +441,17 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -448,7 +465,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey2 extends VMStatsDiskRegionEn
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
[47/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java
index b2be16c..939e3dd 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java
@@ -18,40 +18,22 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VersionedThinLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -81,33 +63,34 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -124,20 +107,23 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapStringKey2.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -146,24 +132,29 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -171,51 +162,57 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -225,33 +222,38 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -259,10 +261,8 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -274,16 +274,16 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -291,17 +291,18 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -313,11 +314,11 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -326,7 +327,7 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -336,9 +337,9 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -353,15 +354,15 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -370,14 +371,17 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -385,7 +389,7 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -395,10 +399,10 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -409,17 +413,17 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -433,7 +437,7 @@ public class VersionedThinLRURegionEntryHeapStringKey2 extends VersionedThinLRUR
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java
index d66fbb0..028926e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java
@@ -20,38 +20,22 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegionEntryHeap {
- public VersionedThinLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VersionedThinLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -81,14 +65,14 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -97,20 +81,23 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryHeapUUIDKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -119,24 +106,29 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -144,51 +136,57 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -198,33 +196,38 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -232,10 +235,8 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -247,16 +248,16 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -264,17 +265,18 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -286,11 +288,11 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -299,7 +301,7 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -309,9 +311,9 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -326,23 +328,25 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -352,7 +356,7 @@ public class VersionedThinLRURegionEntryHeapUUIDKey extends VersionedThinLRURegi
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java
index 5c15c40..560ef62 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java
@@ -18,35 +18,22 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +60,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VersionedThinLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -81,55 +68,57 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapIntKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapIntKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -145,6 +134,7 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -162,7 +152,7 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -170,36 +160,41 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -207,51 +202,57 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -261,33 +262,38 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -295,10 +301,8 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -310,16 +314,16 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -327,17 +331,18 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -349,11 +354,11 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -362,7 +367,7 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -372,9 +377,9 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -389,29 +394,26 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -419,7 +421,7 @@ public class VersionedThinLRURegionEntryOffHeapIntKey extends VersionedThinLRURe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java
index eb8a3ee..2b8eba3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java
@@ -18,35 +18,22 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +60,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VersionedThinLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -81,57 +68,57 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapLongKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapLongKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +134,7 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +152,7 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +160,41 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -209,51 +202,57 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -263,33 +262,38 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -297,10 +301,8 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -312,16 +314,16 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -329,17 +331,18 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -351,11 +354,11 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -364,7 +367,7 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -374,9 +377,9 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -391,22 +394,24 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -414,7 +419,7 @@ public class VersionedThinLRURegionEntryOffHeapLongKey extends VersionedThinLRUR
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java
index 6ec84f3..a2273a7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java
@@ -18,35 +18,22 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +59,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+public class VersionedThinLRURegionEntryOffHeapObjectKey
+ extends VersionedThinLRURegionEntryOffHeap {
+ public VersionedThinLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -81,53 +69,57 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapObjectKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -143,6 +135,7 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -160,7 +153,7 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -168,36 +161,41 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -205,51 +203,57 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -259,27 +263,33 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -288,15 +298,12 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
-
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -308,16 +315,16 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -325,17 +332,18 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -347,11 +355,11 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -360,7 +368,7 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -370,9 +378,9 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -387,18 +395,19 @@ public class VersionedThinLRURegionEntryOffHeapObjectKey extends VersionedThinLR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java
index d36e5de..6b1df6c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java
@@ -18,35 +18,22 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +59,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+public class VersionedThinLRURegionEntryOffHeapStringKey1
+ extends VersionedThinLRURegionEntryOffHeap {
+ public VersionedThinLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -81,27 +69,28 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -112,35 +101,40 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey1.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -156,6 +150,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -173,7 +168,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -181,36 +176,41 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -218,51 +218,57 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -272,33 +278,38 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -306,10 +317,8 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -321,16 +330,16 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -338,17 +347,18 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -360,11 +370,11 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -373,7 +383,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -383,9 +393,9 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -400,38 +410,41 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -440,16 +453,16 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -457,7 +470,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -470,7 +483,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey1 extends VersionedThinL
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[29/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java
index 63a0908..678d0d1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java
@@ -15,15 +15,24 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
@@ -32,34 +41,48 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapStringKey2(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, value);
+ public VMStatsRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -72,23 +95,24 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -97,40 +121,40 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -138,97 +162,92 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -238,10 +257,10 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -252,16 +271,17 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -275,7 +295,7 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -294,5 +314,7 @@ public class VMStatsRegionEntryHeapStringKey2 extends VMStatsRegionEntryHeap {
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java
index 829d16e..9fccf64 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java
@@ -15,52 +15,77 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key, Object value) {
- super(context, value);
+ public VMStatsRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -69,40 +94,40 @@ public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -110,80 +135,76 @@ public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -193,5 +214,8 @@ public class VMStatsRegionEntryHeapUUIDKey extends VMStatsRegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java
index da05e2d..fe6d1f7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java
@@ -15,71 +15,101 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, value);
+ public VMStatsRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -87,13 +117,18 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -107,58 +142,60 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -166,79 +203,82 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -246,5 +286,8 @@ public class VMStatsRegionEntryOffHeapIntKey extends VMStatsRegionEntryOffHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java
index 5caaa68..9b9f22a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java
@@ -15,71 +15,103 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, value);
+ public VMStatsRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -87,13 +119,18 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -107,58 +144,60 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -166,79 +205,75 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -246,5 +281,8 @@ public class VMStatsRegionEntryOffHeapLongKey extends VMStatsRegionEntryOffHeap
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java
index 8821a7b..4e5b762 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java
@@ -15,71 +15,99 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, value);
+ public VMStatsRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -87,13 +115,18 @@ public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHea
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -107,58 +140,60 @@ public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHea
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -166,77 +201,77 @@ public class VMStatsRegionEntryOffHeapObjectKey extends VMStatsRegionEntryOffHea
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java
index 164454b..cad4fee 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java
@@ -15,88 +15,112 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VMStatsRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -104,13 +128,18 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -124,58 +153,60 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -183,96 +214,91 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -281,15 +307,16 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -297,7 +324,7 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -310,5 +337,8 @@ public class VMStatsRegionEntryOffHeapStringKey1 extends VMStatsRegionEntryOffHe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java
index 4776dad..abbdd29 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java
@@ -15,55 +15,79 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VMStatsRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -76,39 +100,39 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -116,13 +140,18 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -136,58 +165,60 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -195,97 +226,92 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -295,10 +321,10 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -309,16 +335,17 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -332,7 +359,7 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -351,5 +378,7 @@ public class VMStatsRegionEntryOffHeapStringKey2 extends VMStatsRegionEntryOffHe
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[28/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java
index a69b31c..9fce06e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java
@@ -15,73 +15,97 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap {
- public VMStatsRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, value);
+ public VMStatsRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -89,13 +113,18 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -109,58 +138,60 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -168,80 +199,76 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryOffHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -251,5 +278,8 @@ public class VMStatsRegionEntryOffHeapUUIDKey extends VMStatsRegionEntryOffHeap
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java
index a8023eb..7912569 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java
@@ -15,54 +15,94 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapIntKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -71,42 +111,40 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -117,22 +155,23 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -142,163 +181,161 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -306,5 +343,8 @@ public class VMThinDiskLRURegionEntryHeapIntKey extends VMThinDiskLRURegionEntry
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java
index 30eeece..d65e340 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java
@@ -15,54 +15,96 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapLongKey(RegionEntryContext context, long key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapLongKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -71,42 +113,40 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -117,22 +157,23 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -142,163 +183,154 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -306,5 +338,8 @@ public class VMThinDiskLRURegionEntryHeapLongKey extends VMThinDiskLRURegionEntr
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java
index 2723b1f..6fef242 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java
@@ -15,56 +15,92 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapObjectKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -73,42 +109,40 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -119,22 +153,23 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -144,161 +179,156 @@ public class VMThinDiskLRURegionEntryHeapObjectKey extends VMThinDiskLRURegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java
index 515ea72..e22d404 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java
@@ -15,17 +15,36 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
@@ -34,54 +53,69 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapStringKey1.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -90,42 +124,40 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -136,22 +168,23 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -161,180 +194,170 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -343,15 +366,16 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -359,7 +383,7 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -372,5 +396,8 @@ public class VMThinDiskLRURegionEntryHeapStringKey1 extends VMThinDiskLRURegionE
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java
index 9d0d247..5377cc9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java
@@ -15,17 +15,36 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
@@ -35,35 +54,50 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionEntryHeap {
- public VMThinDiskLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -76,24 +110,24 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapStringKey2.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -102,42 +136,40 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -148,22 +180,23 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -173,181 +206,171 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -357,10 +380,10 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -371,16 +394,17 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -394,7 +418,7 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -413,5 +437,7 @@ public class VMThinDiskLRURegionEntryHeapStringKey2 extends VMThinDiskLRURegionE
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[76/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java
index d5ecb01..0c6c3de 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java
@@ -18,25 +18,16 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VMStatsDiskLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -69,14 +60,14 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -87,20 +78,23 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -109,24 +103,29 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -136,13 +135,13 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -153,10 +152,11 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -164,12 +164,12 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -179,58 +179,60 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -242,36 +244,44 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -281,27 +291,33 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -310,13 +326,12 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
-
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -327,51 +342,61 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -379,19 +404,20 @@ public class VMStatsDiskLRURegionEntryHeapObjectKey extends VMStatsDiskLRURegion
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java
index 0f8a90a..fe5fad6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java
@@ -18,25 +18,16 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VMStatsDiskLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -69,14 +60,14 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -84,14 +75,15 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -102,20 +94,23 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -124,24 +119,29 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -151,13 +151,13 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -168,10 +168,11 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -179,12 +180,12 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -194,58 +195,60 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -257,36 +260,44 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -296,33 +307,38 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -331,7 +347,7 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -342,51 +358,61 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -394,39 +420,42 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -435,16 +464,16 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -452,7 +481,7 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -465,7 +494,7 @@ public class VMStatsDiskLRURegionEntryHeapStringKey1 extends VMStatsDiskLRURegio
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java
index 7b3d4de..929e14e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java
@@ -18,25 +18,16 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +52,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VMStatsDiskLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -69,14 +60,14 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -85,19 +76,20 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -114,20 +106,23 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -136,24 +131,29 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -163,13 +163,13 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -180,10 +180,11 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -191,12 +192,12 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -206,58 +207,60 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -269,36 +272,44 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -308,33 +319,38 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -343,7 +359,7 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -354,51 +370,61 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -406,16 +432,16 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -424,14 +450,17 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -439,7 +468,7 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -449,10 +478,10 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -463,17 +492,17 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -487,7 +516,7 @@ public class VMStatsDiskLRURegionEntryHeapStringKey2 extends VMStatsDiskLRURegio
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java
index 995973e..ed4ed05 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java
@@ -20,23 +20,16 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
@@ -61,7 +54,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEntryHeap {
- public VMStatsDiskLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMStatsDiskLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -69,45 +62,42 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -116,24 +106,29 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -143,13 +138,13 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -160,10 +155,11 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -171,12 +167,12 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -186,58 +182,60 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -249,36 +247,44 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -288,33 +294,38 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -323,7 +334,7 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -334,51 +345,59 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryHeapUUIDKey.class, "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -386,24 +405,26 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -413,7 +434,7 @@ public class VMStatsDiskLRURegionEntryHeapUUIDKey extends VMStatsDiskLRURegionEn
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java
index 3dad576..9c1fc62 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java
@@ -18,35 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+ public VMStatsDiskLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
@Retained
@@ -81,55 +65,58 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -145,6 +132,7 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -162,7 +150,7 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -170,36 +158,41 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -209,13 +202,13 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -226,10 +219,11 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -237,12 +231,12 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -252,58 +246,60 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -315,36 +311,44 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -354,33 +358,38 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -389,7 +398,7 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -400,51 +409,61 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapIntKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -452,30 +471,27 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -483,7 +499,7 @@ public class VMStatsDiskLRURegionEntryOffHeapIntKey extends VMStatsDiskLRURegion
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[51/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java
index 324ce68..9aa82e9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java
@@ -18,35 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +61,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+public class VersionedThinDiskLRURegionEntryOffHeapLongKey
+ extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -81,57 +71,59 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapLongKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapLongKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +139,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +157,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +165,41 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -211,13 +209,13 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -228,10 +226,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -239,12 +238,12 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -254,58 +253,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -317,36 +318,44 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -356,33 +365,38 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -390,10 +404,8 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -405,16 +417,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -422,17 +434,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -444,11 +457,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -457,7 +470,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -467,9 +480,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -484,22 +497,24 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -507,7 +522,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapLongKey extends VersionedThin
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java
index c68cd02..011bf26 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java
@@ -18,35 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +61,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+public class VersionedThinDiskLRURegionEntryOffHeapObjectKey
+ extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -81,14 +71,14 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -99,35 +89,40 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapObjectKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -143,6 +138,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -160,7 +156,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -168,36 +164,41 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -207,13 +208,13 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -224,10 +225,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -235,12 +237,12 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -250,58 +252,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -313,36 +317,44 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -352,27 +364,33 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -381,15 +399,12 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
-
}
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -401,16 +416,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -418,17 +433,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -440,11 +456,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -453,7 +469,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -463,9 +479,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -480,18 +496,19 @@ public class VersionedThinDiskLRURegionEntryOffHeapObjectKey extends VersionedTh
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java
index 6a312de..ffba17a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java
@@ -18,35 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +61,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+public class VersionedThinDiskLRURegionEntryOffHeapStringKey1
+ extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -81,14 +71,14 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -96,14 +86,15 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -114,35 +105,40 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey1.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -158,6 +154,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -175,7 +172,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -183,36 +180,41 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -222,13 +224,13 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -239,10 +241,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -250,12 +253,12 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -265,58 +268,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -328,36 +333,44 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -367,33 +380,38 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -401,10 +419,8 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -416,16 +432,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -433,17 +449,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -455,11 +472,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -468,7 +485,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -478,9 +495,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -495,38 +512,41 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -535,16 +555,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -552,7 +572,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -565,7 +585,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey1 extends VersionedT
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java
index 9956c62..85a66ae 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java
@@ -18,35 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +61,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedThinDiskLRURegionEntryOffHeap {
- public VersionedThinDiskLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+public class VersionedThinDiskLRURegionEntryOffHeapStringKey2
+ extends VersionedThinDiskLRURegionEntryOffHeap {
+ public VersionedThinDiskLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -81,14 +71,14 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -97,19 +87,20 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -126,35 +117,40 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryOffHeapStringKey2.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -170,6 +166,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -187,7 +184,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -195,36 +192,41 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -234,13 +236,13 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -251,10 +253,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -262,12 +265,12 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -277,58 +280,60 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -340,36 +345,44 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -379,33 +392,38 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -413,10 +431,8 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -428,16 +444,16 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -445,17 +461,18 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -467,11 +484,11 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -480,7 +497,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -490,9 +507,9 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -507,15 +524,15 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -524,14 +541,17 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -539,7 +559,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -549,10 +569,10 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -563,17 +583,17 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -587,7 +607,7 @@ public class VersionedThinDiskLRURegionEntryOffHeapStringKey2 extends VersionedT
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
[15/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java
index f09293f..a9e72b5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java
@@ -15,64 +15,101 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapStringKey2
- extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskRegionEntryOffHeapStringKey2 extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -85,41 +122,39 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -127,13 +162,18 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -147,71 +187,72 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -221,60 +262,63 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -282,73 +326,67 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -360,15 +398,16 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -376,17 +415,17 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -398,11 +437,11 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -411,6 +450,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -420,9 +460,9 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -437,39 +477,39 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -479,10 +519,10 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -493,16 +533,17 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -516,7 +557,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -535,5 +576,7 @@ public class VersionedStatsDiskRegionEntryOffHeapStringKey2
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java
index 4ddd0ad..38faab8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java
@@ -15,84 +15,126 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
- extends VersionedStatsDiskRegionEntryOffHeap {
- public VersionedStatsDiskRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskRegionEntryOffHeapUUIDKey extends VersionedStatsDiskRegionEntryOffHeap {
+ public VersionedStatsDiskRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -100,13 +142,18 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -120,71 +167,72 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -194,60 +242,63 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -255,73 +306,67 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryOffHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -333,15 +378,16 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -349,17 +395,17 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -371,11 +417,11 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -384,6 +430,7 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -393,9 +440,9 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -410,22 +457,23 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -435,5 +483,8 @@ public class VersionedStatsDiskRegionEntryOffHeapUUIDKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java
index db53cd6..fad6fb8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java
@@ -15,59 +15,106 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, value);
+ public VersionedStatsLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -76,136 +123,124 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -213,73 +248,67 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -291,15 +320,16 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -307,17 +337,17 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -329,11 +359,11 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -342,6 +372,7 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -351,9 +382,9 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -368,21 +399,29 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -390,5 +429,8 @@ public class VersionedStatsLRURegionEntryHeapIntKey extends VersionedStatsLRUReg
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java
index 0897f90..de5b424 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java
@@ -15,60 +15,108 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
- Object value) {
- super(context, value);
+ public VersionedStatsLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -77,136 +125,124 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -214,73 +250,67 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -292,15 +322,16 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -308,17 +339,17 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -330,11 +361,11 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -343,6 +374,7 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -352,9 +384,9 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -369,21 +401,22 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -391,5 +424,8 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[26/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java
index a90d9bf..8a4a00b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java
@@ -15,59 +15,101 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -80,41 +122,39 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey2.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -122,13 +162,18 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -142,60 +187,60 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -206,22 +251,23 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -231,181 +277,171 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -415,10 +451,10 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -429,16 +465,17 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -452,7 +489,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -471,5 +508,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java
index e4b0365..3e88d80 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java
@@ -15,78 +15,126 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapUUIDKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -94,13 +142,18 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -114,60 +167,60 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -178,22 +231,23 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -203,164 +257,155 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -370,5 +415,8 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java
index 9233157..772ece1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java
@@ -15,51 +15,87 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapIntKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -68,53 +104,52 @@ public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -124,65 +159,77 @@ public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -190,5 +237,8 @@ public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java
index 6515ddb..234bbbd 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java
@@ -15,13 +15,28 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
@@ -29,37 +44,60 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapLongKey(RegionEntryContext context, long key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapLongKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -68,53 +106,52 @@ public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -124,65 +161,70 @@ public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -190,5 +232,8 @@ public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java
index e60c2f1..61a7ed5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java
@@ -15,51 +15,85 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapObjectKey extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapObjectKey(RegionEntryContext context, Object key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapObjectKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -68,53 +102,52 @@ public class VMThinDiskRegionEntryHeapObjectKey extends VMThinDiskRegionEntryHea
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -124,63 +157,72 @@ public class VMThinDiskRegionEntryHeapObjectKey extends VMThinDiskRegionEntryHea
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java
index b2012ad..dd44a77 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java
@@ -15,13 +15,28 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
@@ -31,53 +46,69 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapStringKey1(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapStringKey1.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -86,53 +117,52 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -142,82 +172,86 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -226,15 +260,16 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -242,7 +277,7 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -255,5 +290,8 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java
index 72206c7..3376704 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java
@@ -15,13 +15,28 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
// versioned: VERSIONED
@@ -32,35 +47,50 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapStringKey2(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMThinDiskRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -73,23 +103,24 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapStringKey2.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -98,53 +129,52 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -154,83 +184,87 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -240,10 +274,10 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -254,16 +288,17 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -277,7 +312,7 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -296,5 +331,7 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[39/78] geode git commit: GEODE-2929: remove final from methods on
internal classes
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/SimpleStatisticId.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/SimpleStatisticId.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/SimpleStatisticId.java
index 57c1d0a..fd6bbb2 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/SimpleStatisticId.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/SimpleStatisticId.java
@@ -50,7 +50,7 @@ public class SimpleStatisticId implements StatisticId {
* Object equality must be based on instance identity.
*/
@Override
- public final boolean equals(Object obj) {
+ public boolean equals(Object obj) {
return super.equals(obj);
}
@@ -58,7 +58,7 @@ public class SimpleStatisticId implements StatisticId {
* Object equality must be based on instance identity.
*/
@Override
- public final int hashCode() {
+ public int hashCode() {
return super.hashCode();
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveReader.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveReader.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveReader.java
index 65e4370..36888e8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveReader.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveReader.java
@@ -1344,7 +1344,7 @@ public class StatArchiveReader implements StatArchiveFormat {
protected int count;
- public final int getSampleCount() {
+ public int getSampleCount() {
return this.count;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
index 4eabe3b..3d375ad 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
@@ -800,85 +800,85 @@ public class StatArchiveWriter implements StatArchiveFormat, SampleHandler {
this.dataOut = new DataOutputStream(out);
}
- public final long getBytesWritten() {
+ public long getBytesWritten() {
return this.bytesWritten;
}
- public final void flush() throws IOException {
+ public void flush() throws IOException {
this.dataOut.flush();
}
@SuppressWarnings("unused")
- public final void close() throws IOException {
+ public void close() throws IOException {
this.dataOut.close();
}
- public final void write(int b) throws IOException {
+ public void write(int b) throws IOException {
throw new RuntimeException(
LocalizedStrings.StatArchiveWriter_METHOD_UNIMPLEMENTED.toLocalizedString());
}
- public final void write(byte[] b, int off, int len) throws IOException {
+ public void write(byte[] b, int off, int len) throws IOException {
throw new RuntimeException(
LocalizedStrings.StatArchiveWriter_METHOD_UNIMPLEMENTED.toLocalizedString());
}
- public final void write(byte[] b) throws IOException {
+ public void write(byte[] b) throws IOException {
throw new RuntimeException(
LocalizedStrings.StatArchiveWriter_METHOD_UNIMPLEMENTED.toLocalizedString());
}
- public final void writeBytes(String v) throws IOException {
+ public void writeBytes(String v) throws IOException {
throw new RuntimeException(
LocalizedStrings.StatArchiveWriter_METHOD_UNIMPLEMENTED.toLocalizedString());
}
- public final void writeChar(int v) throws IOException {
+ public void writeChar(int v) throws IOException {
throw new RuntimeException(
LocalizedStrings.StatArchiveWriter_METHOD_UNIMPLEMENTED.toLocalizedString());
}
- public final void writeChars(String v) throws IOException {
+ public void writeChars(String v) throws IOException {
throw new RuntimeException(
LocalizedStrings.StatArchiveWriter_METHOD_UNIMPLEMENTED.toLocalizedString());
}
- public final void writeDouble(double v) throws IOException {
+ public void writeDouble(double v) throws IOException {
throw new RuntimeException(
LocalizedStrings.StatArchiveWriter_METHOD_UNIMPLEMENTED.toLocalizedString());
}
- public final void writeFloat(float v) throws IOException {
+ public void writeFloat(float v) throws IOException {
throw new RuntimeException(
LocalizedStrings.StatArchiveWriter_METHOD_UNIMPLEMENTED.toLocalizedString());
}
- public final void writeBoolean(boolean v) throws IOException {
+ public void writeBoolean(boolean v) throws IOException {
this.dataOut.writeBoolean(v);
this.bytesWritten += 1;
}
- public final void writeByte(int v) throws IOException {
+ public void writeByte(int v) throws IOException {
this.dataOut.writeByte(v);
this.bytesWritten += 1;
}
- public final void writeShort(int v) throws IOException {
+ public void writeShort(int v) throws IOException {
this.dataOut.writeShort(v);
this.bytesWritten += 2;
}
- public final void writeInt(int v) throws IOException {
+ public void writeInt(int v) throws IOException {
this.dataOut.writeInt(v);
this.bytesWritten += 4;
}
- public final void writeLong(long v) throws IOException {
+ public void writeLong(long v) throws IOException {
this.dataOut.writeLong(v);
this.bytesWritten += 8;
}
- public final void writeUTF(String v) throws IOException {
+ public void writeUTF(String v) throws IOException {
this.dataOut.writeUTF(v);
this.bytesWritten += v.length() + 2; // this is the minimum. The max is v.size()*3 +2
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticDescriptorImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticDescriptorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticDescriptorImpl.java
index 476d118..1a59616 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticDescriptorImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticDescriptorImpl.java
@@ -82,7 +82,7 @@ public class StatisticDescriptorImpl implements StatisticDescriptor {
*
* @throws IllegalArgumentException <code>code</code> is an unknown type
*/
- public final static String getTypeCodeName(int code) {
+ public static String getTypeCodeName(int code) {
switch (code) {
case BYTE:
return "byte";
@@ -108,7 +108,7 @@ public class StatisticDescriptorImpl implements StatisticDescriptor {
*
* @throws IllegalArgumentException <code>code</code> is an unknown type
*/
- public final static int getTypeCodeBits(int code) {
+ public static int getTypeCodeBits(int code) {
switch (code) {
case BYTE:
return 8;
@@ -134,7 +134,7 @@ public class StatisticDescriptorImpl implements StatisticDescriptor {
*
* @throws IllegalArgumentException <code>code</code> is an unknown type
*/
- public final static Class<?> getTypeCodeClass(byte code) {
+ public static Class<?> getTypeCodeClass(byte code) {
switch (code) {
case BYTE:
return byte.class;
@@ -227,35 +227,35 @@ public class StatisticDescriptorImpl implements StatisticDescriptor {
//////////////////// StatisticDescriptor Methods ////////////////////
- public final String getName() {
+ public String getName() {
return this.name;
}
- public final String getDescription() {
+ public String getDescription() {
return this.description;
}
- public final Class<?> getType() {
+ public Class<?> getType() {
return getTypeCodeClass(this.typeCode);
}
- public final int getStorageBits() {
+ public int getStorageBits() {
return getTypeCodeBits(this.typeCode);
}
- public final boolean isCounter() {
+ public boolean isCounter() {
return this.isCounter;
}
- public final boolean isLargerBetter() {
+ public boolean isLargerBetter() {
return this.isLargerBetter;
}
- public final String getUnit() {
+ public String getUnit() {
return this.unit;
}
- public final int getId() {
+ public int getId() {
// if (this.id == INVALID_OFFSET) {
// String s = "The id has not been initialized yet.";
// throw new IllegalStateException(s);
@@ -265,7 +265,7 @@ public class StatisticDescriptorImpl implements StatisticDescriptor {
return this.id;
}
- public final Number getNumberForRawBits(long bits) {
+ public Number getNumberForRawBits(long bits) {
switch (this.typeCode) {
case StatisticDescriptorImpl.INT:
return (int) bits;
@@ -285,14 +285,14 @@ public class StatisticDescriptorImpl implements StatisticDescriptor {
/**
* Returns the type code of this statistic
*/
- public final byte getTypeCode() {
+ public byte getTypeCode() {
return this.typeCode;
}
/**
* Sets the id of this descriptor
*/
- final void setId(int id) {
+ void setId(int id) {
// Assert.assertTrue(id >= 0);
this.id = id;
}
@@ -309,7 +309,7 @@ public class StatisticDescriptorImpl implements StatisticDescriptor {
return this.getName().compareTo(o.getName());
}
- public final int checkInt() {
+ public int checkInt() {
if (this.typeCode != INT) {
throw new IllegalArgumentException(
LocalizedStrings.StatisticDescriptorImpl_THE_STATISTIC_0_WITH_ID_1_IS_OF_TYPE_2_AND_IT_WAS_EXPECTED_TO_BE_AN_INT
@@ -319,7 +319,7 @@ public class StatisticDescriptorImpl implements StatisticDescriptor {
return this.id;
}
- public final int checkLong() {
+ public int checkLong() {
if (this.typeCode != LONG) {
StringBuffer sb = new StringBuffer();
sb.append("The statistic " + getName() + " with id ");
@@ -333,7 +333,7 @@ public class StatisticDescriptorImpl implements StatisticDescriptor {
return this.id;
}
- public final int checkDouble() {
+ public int checkDouble() {
if (this.typeCode != DOUBLE) {
throw new IllegalArgumentException(
LocalizedStrings.StatisticDescriptorImpl_THE_STATISTIC_0_WITH_ID_1_IS_OF_TYPE_2_AND_IT_WAS_EXPECTED_TO_BE_A_DOUBLE
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsImpl.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsImpl.java
index 0572d4c..0e2f5f4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsImpl.java
@@ -124,19 +124,19 @@ public abstract class StatisticsImpl implements Statistics {
////////////////////// Instance Methods //////////////////////
- public final boolean usesSystemCalls() {
+ public boolean usesSystemCalls() {
return this.osStatFlags != 0;
}
- public final int getOsStatFlags() {
+ public int getOsStatFlags() {
return this.osStatFlags;
}
- public final int nameToId(String name) {
+ public int nameToId(String name) {
return this.type.nameToId(name);
}
- public final StatisticDescriptor nameToDescriptor(String name) {
+ public StatisticDescriptor nameToDescriptor(String name) {
return this.type.nameToDescriptor(name);
}
@@ -144,27 +144,27 @@ public abstract class StatisticsImpl implements Statistics {
this.closed = true;
}
- public final boolean isClosed() {
+ public boolean isClosed() {
return this.closed;
}
public abstract boolean isAtomic();
- private final boolean isOpen() { // fix for bug 29973
+ private boolean isOpen() { // fix for bug 29973
return !this.closed;
}
//////////////////////// attribute Methods ///////////////////////
- public final StatisticsType getType() {
+ public StatisticsType getType() {
return this.type;
}
- public final String getTextId() {
+ public String getTextId() {
return this.textId;
}
- public final long getNumericId() {
+ public long getNumericId() {
return this.numericId;
}
@@ -184,15 +184,15 @@ public abstract class StatisticsImpl implements Statistics {
//////////////////////// set() Methods ///////////////////////
- public final void setInt(String name, int value) {
+ public void setInt(String name, int value) {
setInt(nameToDescriptor(name), value);
}
- public final void setInt(StatisticDescriptor descriptor, int value) {
+ public void setInt(StatisticDescriptor descriptor, int value) {
setInt(getIntId(descriptor), value);
}
- public final void setInt(int id, int value) {
+ public void setInt(int id, int value) {
if (isOpen()) {
_setInt(id, value);
}
@@ -204,15 +204,15 @@ public abstract class StatisticsImpl implements Statistics {
*/
protected abstract void _setInt(int offset, int value);
- public final void setLong(String name, long value) {
+ public void setLong(String name, long value) {
setLong(nameToDescriptor(name), value);
}
- public final void setLong(StatisticDescriptor descriptor, long value) {
+ public void setLong(StatisticDescriptor descriptor, long value) {
setLong(getLongId(descriptor), value);
}
- public final void setLong(int id, long value) {
+ public void setLong(int id, long value) {
if (isOpen()) {
_setLong(id, value);
}
@@ -224,15 +224,15 @@ public abstract class StatisticsImpl implements Statistics {
*/
protected abstract void _setLong(int offset, long value);
- public final void setDouble(String name, double value) {
+ public void setDouble(String name, double value) {
setDouble(nameToDescriptor(name), value);
}
- public final void setDouble(StatisticDescriptor descriptor, double value) {
+ public void setDouble(StatisticDescriptor descriptor, double value) {
setDouble(getDoubleId(descriptor), value);
}
- public final void setDouble(int id, double value) {
+ public void setDouble(int id, double value) {
if (isOpen()) {
_setDouble(id, value);
}
@@ -246,15 +246,15 @@ public abstract class StatisticsImpl implements Statistics {
/////////////////////// get() Methods ///////////////////////
- public final int getInt(String name) {
+ public int getInt(String name) {
return getInt(nameToDescriptor(name));
}
- public final int getInt(StatisticDescriptor descriptor) {
+ public int getInt(StatisticDescriptor descriptor) {
return getInt(getIntId(descriptor));
}
- public final int getInt(int id) {
+ public int getInt(int id) {
if (isOpen()) {
return _getInt(id);
} else {
@@ -269,15 +269,15 @@ public abstract class StatisticsImpl implements Statistics {
protected abstract int _getInt(int offset);
- public final long getLong(String name) {
+ public long getLong(String name) {
return getLong(nameToDescriptor(name));
}
- public final long getLong(StatisticDescriptor descriptor) {
+ public long getLong(StatisticDescriptor descriptor) {
return getLong(getLongId(descriptor));
}
- public final long getLong(int id) {
+ public long getLong(int id) {
if (isOpen()) {
return _getLong(id);
} else {
@@ -292,15 +292,15 @@ public abstract class StatisticsImpl implements Statistics {
*/
protected abstract long _getLong(int offset);
- public final double getDouble(String name) {
+ public double getDouble(String name) {
return getDouble(nameToDescriptor(name));
}
- public final double getDouble(StatisticDescriptor descriptor) {
+ public double getDouble(StatisticDescriptor descriptor) {
return getDouble(getDoubleId(descriptor));
}
- public final double getDouble(int id) {
+ public double getDouble(int id) {
if (isOpen()) {
return _getDouble(id);
} else {
@@ -314,7 +314,7 @@ public abstract class StatisticsImpl implements Statistics {
*/
protected abstract double _getDouble(int offset);
- public final Number get(StatisticDescriptor descriptor) {
+ public Number get(StatisticDescriptor descriptor) {
if (isOpen()) {
return _get((StatisticDescriptorImpl) descriptor);
} else {
@@ -322,7 +322,7 @@ public abstract class StatisticsImpl implements Statistics {
}
}
- public final Number get(String name) {
+ public Number get(String name) {
return get(nameToDescriptor(name));
}
@@ -340,15 +340,15 @@ public abstract class StatisticsImpl implements Statistics {
//////////////////////// inc() Methods ////////////////////////
- public final void incInt(String name, int delta) {
+ public void incInt(String name, int delta) {
incInt(nameToDescriptor(name), delta);
}
- public final void incInt(StatisticDescriptor descriptor, int delta) {
+ public void incInt(StatisticDescriptor descriptor, int delta) {
incInt(getIntId(descriptor), delta);
}
- public final void incInt(int id, int delta) {
+ public void incInt(int id, int delta) {
if (isOpen()) {
_incInt(id, delta);
}
@@ -360,15 +360,15 @@ public abstract class StatisticsImpl implements Statistics {
*/
protected abstract void _incInt(int offset, int delta);
- public final void incLong(String name, long delta) {
+ public void incLong(String name, long delta) {
incLong(nameToDescriptor(name), delta);
}
- public final void incLong(StatisticDescriptor descriptor, long delta) {
+ public void incLong(StatisticDescriptor descriptor, long delta) {
incLong(getLongId(descriptor), delta);
}
- public final void incLong(int id, long delta) {
+ public void incLong(int id, long delta) {
if (isOpen()) {
_incLong(id, delta);
}
@@ -380,15 +380,15 @@ public abstract class StatisticsImpl implements Statistics {
*/
protected abstract void _incLong(int offset, long delta);
- public final void incDouble(String name, double delta) {
+ public void incDouble(String name, double delta) {
incDouble(nameToDescriptor(name), delta);
}
- public final void incDouble(StatisticDescriptor descriptor, double delta) {
+ public void incDouble(StatisticDescriptor descriptor, double delta) {
incDouble(getDoubleId(descriptor), delta);
}
- public final void incDouble(int id, double delta) {
+ public void incDouble(int id, double delta) {
if (isOpen()) {
_incDouble(id, delta);
}
@@ -533,22 +533,22 @@ public abstract class StatisticsImpl implements Statistics {
return this.uniqueId == other.getUniqueId();
}
- private final static int getIntId(StatisticDescriptor descriptor) {
+ private static int getIntId(StatisticDescriptor descriptor) {
return ((StatisticDescriptorImpl) descriptor).checkInt();
}
- private final static int getLongId(StatisticDescriptor descriptor) {
+ private static int getLongId(StatisticDescriptor descriptor) {
return ((StatisticDescriptorImpl) descriptor).checkLong();
}
- private final static int getDoubleId(StatisticDescriptor descriptor) {
+ private static int getDoubleId(StatisticDescriptor descriptor) {
return ((StatisticDescriptorImpl) descriptor).checkDouble();
}
/**
* Returns the value of the specified statistic descriptor.
*/
- private final Number _get(StatisticDescriptorImpl stat) {
+ private Number _get(StatisticDescriptorImpl stat) {
switch (stat.getTypeCode()) {
case StatisticDescriptorImpl.INT:
return Integer.valueOf(_getInt(stat.getId()));
@@ -566,7 +566,7 @@ public abstract class StatisticsImpl implements Statistics {
/**
* Returns the bits that represent the raw value of the specified statistic descriptor.
*/
- private final long _getRawBits(StatisticDescriptorImpl stat) {
+ private long _getRawBits(StatisticDescriptorImpl stat) {
switch (stat.getTypeCode()) {
case StatisticDescriptorImpl.INT:
return _getInt(stat.getId());
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsTypeFactoryImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsTypeFactoryImpl.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsTypeFactoryImpl.java
index 5a025f9..df67d74 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsTypeFactoryImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsTypeFactoryImpl.java
@@ -38,11 +38,11 @@ public class StatisticsTypeFactoryImpl implements StatisticsTypeFactory {
/**
* Returns the single instance of this class.
*/
- public final static StatisticsTypeFactory singleton() {
+ public static StatisticsTypeFactory singleton() {
return singleton;
}
- protected final static void clear() {
+ protected static void clear() {
singleton.statTypes.clear();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsTypeImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsTypeImpl.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsTypeImpl.java
index 2c7fd3c..c6594ef 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsTypeImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatisticsTypeImpl.java
@@ -152,23 +152,23 @@ public class StatisticsTypeImpl implements StatisticsType {
////////////////////// StatisticsType Methods //////////////////////
- public final String getName() {
+ public String getName() {
return this.name;
}
- public final String getDescription() {
+ public String getDescription() {
return this.description;
}
- public final StatisticDescriptor[] getStatistics() {
+ public StatisticDescriptor[] getStatistics() {
return this.stats;
}
- public final int nameToId(String name) {
+ public int nameToId(String name) {
return nameToDescriptor(name).getId();
}
- public final StatisticDescriptor nameToDescriptor(String name) {
+ public StatisticDescriptor nameToDescriptor(String name) {
StatisticDescriptorImpl stat = (StatisticDescriptorImpl) statsMap.get(name);
if (stat == null) {
throw new IllegalArgumentException(
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/ProcessStats.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/ProcessStats.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/ProcessStats.java
index fc2fd05..690b514 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/ProcessStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/ProcessStats.java
@@ -40,11 +40,11 @@ public abstract class ProcessStats {
*
* @see Statistics#close
*/
- public final void close() {
+ public void close() {
this.stats.close();
}
- public final Statistics getStatistics() {
+ public Statistics getStatistics() {
return this.stats;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/stats50/Atomic50StatisticsImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/stats50/Atomic50StatisticsImpl.java b/geode-core/src/main/java/org/apache/geode/internal/stats50/Atomic50StatisticsImpl.java
index 568329b..17f6afe 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/stats50/Atomic50StatisticsImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/stats50/Atomic50StatisticsImpl.java
@@ -135,7 +135,7 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
////////////////////// Instance Methods //////////////////////
@Override
- public final boolean isAtomic() {
+ public boolean isAtomic() {
return true;
}
@@ -150,13 +150,13 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
/**
* Queue of new ThreadStorage instances.
*/
- private final ConcurrentLinkedQueue<ThreadStorage> threadStoreQ =
+ private ConcurrentLinkedQueue<ThreadStorage> threadStoreQ =
new ConcurrentLinkedQueue<ThreadStorage>();
/**
* List of ThreadStorage instances that will be used to roll up stat values on this instance. They
* come from the threadStoreQ.
*/
- private final CopyOnWriteArrayList<ThreadStorage> threadStoreList =
+ private CopyOnWriteArrayList<ThreadStorage> threadStoreList =
new CopyOnWriteArrayList<ThreadStorage>();
/**
@@ -225,17 +225,17 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
//////////////////////// store() Methods ///////////////////////
@Override
- protected final void _setInt(int offset, int value) {
+ protected void _setInt(int offset, int value) {
doIntWrite(offset, value);
}
@Override
- protected final void _setLong(int offset, long value) {
+ protected void _setLong(int offset, long value) {
doLongWrite(offset, value);
}
@Override
- protected final void _setDouble(int offset, double value) {
+ protected void _setDouble(int offset, double value) {
throw new IllegalStateException(
LocalizedStrings.Atomic50StatisticsImpl_DOUBLE_STATS_NOT_ON_ATOMIC50.toLocalizedString());
}
@@ -243,17 +243,17 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
/////////////////////// get() Methods ///////////////////////
@Override
- protected final int _getInt(int offset) {
+ protected int _getInt(int offset) {
return doIntRead(offset);
}
@Override
- protected final long _getLong(int offset) {
+ protected long _getLong(int offset) {
return doLongRead(offset);
}
@Override
- protected final double _getDouble(int offset) {
+ protected double _getDouble(int offset) {
throw new IllegalStateException(
LocalizedStrings.Atomic50StatisticsImpl_DOUBLE_STATS_NOT_ON_ATOMIC50.toLocalizedString());
}
@@ -261,19 +261,19 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
//////////////////////// inc() Methods ////////////////////////
@Override
- protected final void _incInt(int offset, int delta) {
+ protected void _incInt(int offset, int delta) {
getThreadIntStorage().getAndAdd(offset, delta);
setIntDirty(offset);
}
@Override
- protected final void _incLong(int offset, long delta) {
+ protected void _incLong(int offset, long delta) {
getThreadLongStorage().getAndAdd(offset, delta);
setLongDirty(offset);
}
@Override
- protected final void _incDouble(int offset, double delta) {
+ protected void _incDouble(int offset, double delta) {
throw new IllegalStateException(
LocalizedStrings.Atomic50StatisticsImpl_DOUBLE_STATS_NOT_ON_ATOMIC50.toLocalizedString());
}
@@ -355,29 +355,29 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
}
}
- private final boolean isIntDirty(final int idx) {
+ private boolean isIntDirty(final int idx) {
return this.intDirty.get(idx) != 0;
}
- private final boolean isLongDirty(final int idx) {
+ private boolean isLongDirty(final int idx) {
return this.longDirty.get(idx) != 0;
}
- private final boolean clearIntDirty(final int idx) {
+ private boolean clearIntDirty(final int idx) {
if (!this.intDirty.weakCompareAndSet(idx, 1/* expected */, 0/* update */)) {
return this.intDirty.compareAndSet(idx, 1/* expected */, 0/* update */);
}
return true;
}
- private final boolean clearLongDirty(final int idx) {
+ private boolean clearLongDirty(final int idx) {
if (!this.longDirty.weakCompareAndSet(idx, 1/* expected */, 0/* update */)) {
return this.longDirty.compareAndSet(idx, 1/* expected */, 0/* update */);
}
return true;
}
- private final void setIntDirty(final int idx) {
+ private void setIntDirty(final int idx) {
if (!this.intDirty.weakCompareAndSet(idx, 0/* expected */, 1/* update */)) {
if (!isIntDirty(idx)) {
this.intDirty.set(idx, 1);
@@ -385,7 +385,7 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
}
}
- private final void setLongDirty(final int idx) {
+ private void setLongDirty(final int idx) {
if (!this.longDirty.weakCompareAndSet(idx, 0/* expected */, 1/* update */)) {
if (!isLongDirty(idx)) {
this.longDirty.set(idx, 1);
@@ -393,7 +393,7 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
}
}
- private final int doIntRead(final int idx) {
+ private int doIntRead(final int idx) {
// early out for sampler; it called prepareForSample
if (samplerThread.get() != null) {
return this.intStorage.get(idx);
@@ -423,7 +423,7 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
}
}
- private final void doIntWrite(final int idx, int value) {
+ private void doIntWrite(final int idx, int value) {
synchronized (this.intReadPrepLock[idx]) {
if (!isIntDirty(idx)) {
// no need to prepare if not dirty
@@ -444,7 +444,7 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
}
}
- private final long doLongRead(final int idx) {
+ private long doLongRead(final int idx) {
if (samplerThread.get() != null) {
return this.longStorage.get(idx);
}
@@ -473,7 +473,7 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
}
}
- private final void doLongWrite(int idx, long value) {
+ private void doLongWrite(int idx, long value) {
synchronized (this.longReadPrepLock[idx]) {
if (!isLongDirty(idx)) {
// no need to prepare if not dirty
@@ -497,17 +497,17 @@ public class Atomic50StatisticsImpl extends StatisticsImpl {
/////////////////// internal package methods //////////////////
- final int[] _getIntStorage() {
+ int[] _getIntStorage() {
throw new IllegalStateException(
LocalizedStrings.Atomic50StatisticsImpl_DIRECT_ACCESS_NOT_ON_ATOMIC50.toLocalizedString());
}
- final long[] _getLongStorage() {
+ long[] _getLongStorage() {
throw new IllegalStateException(
LocalizedStrings.Atomic50StatisticsImpl_DIRECT_ACCESS_NOT_ON_ATOMIC50.toLocalizedString());
}
- final double[] _getDoubleStorage() {
+ double[] _getDoubleStorage() {
throw new IllegalStateException(
LocalizedStrings.Atomic50StatisticsImpl_DIRECT_ACCESS_NOT_ON_ATOMIC50.toLocalizedString());
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/tcp/ByteBufferInputStream.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/ByteBufferInputStream.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/ByteBufferInputStream.java
index 1a67f43..216a9d9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/ByteBufferInputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/ByteBufferInputStream.java
@@ -481,7 +481,7 @@ public class ByteBufferInputStream extends InputStream
return this.chunk.getDataSize();
}
- private final int nextGetIndex() {
+ private int nextGetIndex() {
int p = this.position;
if (p >= this.limit) {
throw new BufferUnderflowException();
@@ -490,7 +490,7 @@ public class ByteBufferInputStream extends InputStream
return p;
}
- private final int nextGetIndex(int nb) {
+ private int nextGetIndex(int nb) {
int p = this.position;
if (this.limit - p < nb) {
throw new BufferUnderflowException();
@@ -503,13 +503,13 @@ public class ByteBufferInputStream extends InputStream
* Checks the given index against the limit, throwing an {@link IndexOutOfBoundsException} if it
* is not smaller than the limit or is smaller than zero.
*/
- private final void checkIndex(int i) {
+ private void checkIndex(int i) {
if ((i < 0) || (i >= this.limit)) {
throw new IndexOutOfBoundsException();
}
}
- private final void checkIndex(int i, int nb) {
+ private void checkIndex(int i, int nb) {
if ((i < 0) || (nb > this.limit - i)) {
throw new IndexOutOfBoundsException();
}
@@ -802,14 +802,14 @@ public class ByteBufferInputStream extends InputStream
this.buffer = ByteSourceFactory.create(blob);
}
- public final void setBuffer(ByteSource buffer) {
+ public void setBuffer(ByteSource buffer) {
if (buffer == null) {
throw new NullPointerException();
}
this.buffer = buffer;
}
- public final void setBuffer(ByteBuffer bb) {
+ public void setBuffer(ByteBuffer bb) {
if (bb == null) {
throw new NullPointerException();
}
@@ -821,7 +821,7 @@ public class ByteBufferInputStream extends InputStream
* the wrapped ByteBuffer is done this method throws BufferUnderflowException
*/
@Override
- public final int read() {
+ public int read() {
return (buffer.get() & 0xff);
}
@@ -832,7 +832,7 @@ public class ByteBufferInputStream extends InputStream
* BufferUnderflowException
*/
@Override
- public final int read(byte b[], int off, int len) {
+ public int read(byte b[], int off, int len) {
buffer.get(b, off, len);
return len;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java
index 70868e0..e59821d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java
@@ -106,7 +106,7 @@ public class Connection implements Runnable {
/** true if connection is a shared resource that can be used by more than one thread */
private boolean sharedResource;
- public final boolean isSharedResource() {
+ public boolean isSharedResource() {
return this.sharedResource;
}
@@ -115,7 +115,7 @@ public class Connection implements Runnable {
private final static ThreadLocal isReaderThread = new ThreadLocal();
- public final static void makeReaderThread() {
+ public static void makeReaderThread() {
// mark this thread as a reader thread
makeReaderThread(true);
}
@@ -125,7 +125,7 @@ public class Connection implements Runnable {
}
// return true if this thread is a reader thread
- public final static boolean isReaderThread() {
+ public static boolean isReaderThread() {
Object o = isReaderThread.get();
if (o == null) {
return false;
@@ -156,7 +156,7 @@ public class Connection implements Runnable {
private final static ThreadLocal isDominoThread = new ThreadLocal();
// return true if this thread is a reader thread
- public final static boolean tipDomino() {
+ public static boolean tipDomino() {
if (DOMINO_THREAD_OWNED_SOCKETS) {
// mark this thread as one who wants to send ALL on TO sockets
ConnectionTable.threadWantsOwnResources();
@@ -167,7 +167,7 @@ public class Connection implements Runnable {
}
}
- public final static boolean isDominoThread() {
+ public static boolean isDominoThread() {
Object o = isDominoThread.get();
if (o == null) {
return false;
@@ -1917,7 +1917,7 @@ public class Connection implements Runnable {
* checks to see if an exception should not be logged: i.e., "forcibly closed", "reset by peer",
* or "connection reset"
*/
- public static final boolean isIgnorableIOException(Exception e) {
+ public static boolean isIgnorableIOException(Exception e) {
if (e instanceof ClosedChannelException) {
return true;
}
@@ -2476,7 +2476,7 @@ public class Connection implements Runnable {
}
@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "DE_MIGHT_IGNORE")
- final int readFully(InputStream input, byte[] buffer, int len) throws IOException {
+ int readFully(InputStream input, byte[] buffer, int len) throws IOException {
int bytesSoFar = 0;
while (bytesSoFar < len) {
this.owner.getConduit().getCancelCriterion().checkCancelInProgress(null);
@@ -3994,21 +3994,21 @@ public class Connection implements Runnable {
}
- protected final void accessed() {
+ protected void accessed() {
this.accessed = true;
}
/**
* return the DM id of the guy on the other side of this connection.
*/
- public final InternalDistributedMember getRemoteAddress() {
+ public InternalDistributedMember getRemoteAddress() {
return this.remoteAddr;
}
/**
* Return the version of the guy on the other side of this connection.
*/
- public final Version getRemoteVersion() {
+ public Version getRemoteVersion() {
return this.remoteVersion;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgDestreamer.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgDestreamer.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgDestreamer.java
index e85046c..6f405fc 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgDestreamer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgDestreamer.java
@@ -492,7 +492,7 @@ public class MsgDestreamer {
}
@Override
- public final void close() {
+ public void close() {
signalDone();
}
@@ -501,7 +501,7 @@ public class MsgDestreamer {
* the wrapped ByteBuffer is done this method throws BufferUnderflowException
*/
@Override
- public final int read() throws IOException {
+ public int read() throws IOException {
ByteBuffer bb = waitForAvailableData();
// logit("read result=" + result);
return (bb.get() & 0xff);
@@ -514,7 +514,7 @@ public class MsgDestreamer {
* BufferUnderflowException
*/
@Override
- public final int read(byte b[], int off, int len) throws IOException {
+ public int read(byte b[], int off, int len) throws IOException {
ByteBuffer bb = waitForAvailableData();
int remaining = bb.remaining();
int bytesToRead = len;
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgOutputStream.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgOutputStream.java
index 5c6df46..52c70ff 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgOutputStream.java
@@ -44,13 +44,13 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
/** write the low-order 8 bits of the given int */
@Override
- public final void write(int b) {
+ public void write(int b) {
buffer.put((byte) b);
}
/** override OutputStream's write() */
@Override
- public final void write(byte[] source, int offset, int len) {
+ public void write(byte[] source, int offset, int len) {
this.buffer.put(source, offset, len);
}
@@ -61,13 +61,13 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
/**
* write the header after the message has been written to the stream
*/
- public final void setMessageHeader(int msgType, int processorType, short msgId) {
+ public void setMessageHeader(int msgType, int processorType, short msgId) {
buffer.putInt(Connection.MSG_HEADER_SIZE_OFFSET, Connection.calcHdrSize(size()));
buffer.put(Connection.MSG_HEADER_TYPE_OFFSET, (byte) (msgType & 0xff));
buffer.putShort(Connection.MSG_HEADER_ID_OFFSET, msgId);
}
- public final void reset() {
+ public void reset() {
this.buffer.clear();
this.buffer.position(Connection.MSG_HEADER_BYTES);
}
@@ -76,7 +76,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* gets the content ByteBuffer, ready for reading. The stream should not be written to past this
* point until it has been reset.
*/
- public final ByteBuffer getContentBuffer() {
+ public ByteBuffer getContentBuffer() {
buffer.flip();
return buffer;
}
@@ -92,7 +92,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param v the boolean to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeBoolean(boolean v) throws IOException {
+ public void writeBoolean(boolean v) throws IOException {
write(v ? 1 : 0);
}
@@ -106,7 +106,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param v the byte value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeByte(int v) throws IOException {
+ public void writeByte(int v) throws IOException {
write(v);
}
@@ -129,7 +129,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param v the <code>short</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeShort(int v) throws IOException {
+ public void writeShort(int v) throws IOException {
buffer.putShort((short) v);
}
@@ -152,7 +152,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param v the <code>char</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeChar(int v) throws IOException {
+ public void writeChar(int v) throws IOException {
buffer.putChar((char) v);
}
@@ -176,7 +176,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param v the <code>int</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeInt(int v) throws IOException {
+ public void writeInt(int v) throws IOException {
buffer.putInt(v);
}
@@ -204,7 +204,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param v the <code>long</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeLong(long v) throws IOException {
+ public void writeLong(long v) throws IOException {
buffer.putLong(v);
}
@@ -219,7 +219,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param v the <code>float</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeFloat(float v) throws IOException {
+ public void writeFloat(float v) throws IOException {
buffer.putFloat(v);
}
@@ -234,7 +234,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param v the <code>double</code> value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeDouble(double v) throws IOException {
+ public void writeDouble(double v) throws IOException {
buffer.putDouble(v);
}
@@ -252,7 +252,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param str the string of bytes to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeBytes(String str) throws IOException {
+ public void writeBytes(String str) throws IOException {
int strlen = str.length();
if (strlen > 0) {
// I know this is a deprecated method but it is PERFECT for this impl.
@@ -283,7 +283,7 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param s the string value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeChars(String s) throws IOException {
+ public void writeChars(String s) throws IOException {
int len = s.length();
if (len > 0) {
for (int i = 0; i < len; i++) {
@@ -343,11 +343,11 @@ public class MsgOutputStream extends OutputStream implements ObjToByteArraySeria
* @param str the string value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeUTF(String str) throws IOException {
+ public void writeUTF(String str) throws IOException {
writeFullUTF(str);
}
- private final void writeFullUTF(String str) throws IOException {
+ private void writeFullUTF(String str) throws IOException {
int strlen = str.length();
if (strlen > 65535) {
throw new UTFDataFormatException(
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgStreamer.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgStreamer.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgStreamer.java
index da86d8e..00707f5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgStreamer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgStreamer.java
@@ -88,7 +88,7 @@ public class MsgStreamer extends OutputStream
/**
* Called to free up resources used by this streamer after the streamer has produced its message.
*/
- protected final void release() {
+ protected void release() {
MsgIdGenerator.release(this.msgId);
this.buffer.clear();
this.overflowBuf = null;
@@ -99,7 +99,7 @@ public class MsgStreamer extends OutputStream
* Returns an exception the describes which cons the message was not sent to. Call this after
* {@link #writeMessage}.
*/
- public final ConnectExceptions getConnectExceptions() {
+ public ConnectExceptions getConnectExceptions() {
return this.ce;
}
@@ -107,7 +107,7 @@ public class MsgStreamer extends OutputStream
* Returns a list of the Connections that the message was sent to. Call this after
* {@link #writeMessage}.
*/
- public final List<?> getSentConnections() {
+ public List<?> getSentConnections() {
return this.cons;
}
@@ -224,7 +224,7 @@ public class MsgStreamer extends OutputStream
/**
* @throws IOException if serialization failure
*/
- public final int writeMessage() throws IOException {
+ public int writeMessage() throws IOException {
// if (logger.isTraceEnabled()) logger.trace(this.msg);
try {
@@ -244,7 +244,7 @@ public class MsgStreamer extends OutputStream
/** write the low-order 8 bits of the given int */
@Override
- public final void write(int b) {
+ public void write(int b) {
// if (logger.isTraceEnabled()) logger.trace(" byte={}", b);
ensureCapacity(1);
@@ -255,7 +255,7 @@ public class MsgStreamer extends OutputStream
this.buffer.put((byte) b);
}
- private final void ensureCapacity(int amount) {
+ private void ensureCapacity(int amount) {
if (this.overflowBuf != null) {
return;
}
@@ -289,7 +289,7 @@ public class MsgStreamer extends OutputStream
}
}
- public final void realFlush(boolean lastFlushForMessage) {
+ public void realFlush(boolean lastFlushForMessage) {
if (isOverflowMode()) {
if (this.overflowBuf == null) {
this.overflowBuf = new HeapDataOutputStream(
@@ -335,7 +335,7 @@ public class MsgStreamer extends OutputStream
}
@Override
- public final void close() throws IOException {
+ public void close() throws IOException {
try {
if (this.startedSerializingMsg && !this.doneWritingMsg) {
// if we wrote any bytes on the cnxs then we need to close them
@@ -354,7 +354,7 @@ public class MsgStreamer extends OutputStream
/** override OutputStream's write() */
@Override
- public final void write(byte[] source, int offset, int len) {
+ public void write(byte[] source, int offset, int len) {
// if (logger.isTraceEnabled()) {
// logger.trace(" bytes={} offset={} len={}", source, offset, len);
// }
@@ -383,7 +383,7 @@ public class MsgStreamer extends OutputStream
}
@Override
- public final void write(ByteBuffer bb) {
+ public void write(ByteBuffer bb) {
// if (logger.isTraceEnabled()) {
// logger.trace(" bytes={} offset={} len={}", source, offset, len);
// }
@@ -417,7 +417,7 @@ public class MsgStreamer extends OutputStream
/**
* write the header after the message has been written to the stream
*/
- private final void setMessageHeader() {
+ private void setMessageHeader() {
Assert.assertTrue(this.overflowBuf == null);
Assert.assertTrue(!isOverflowMode());
// int processorType = this.msg.getProcessorType();
@@ -457,7 +457,7 @@ public class MsgStreamer extends OutputStream
*
* @param v the boolean to be written.
*/
- public final void writeBoolean(boolean v) {
+ public void writeBoolean(boolean v) {
write(v ? 1 : 0);
}
@@ -470,7 +470,7 @@ public class MsgStreamer extends OutputStream
*
* @param v the byte value to be written.
*/
- public final void writeByte(int v) {
+ public void writeByte(int v) {
write(v);
}
@@ -492,7 +492,7 @@ public class MsgStreamer extends OutputStream
*
* @param v the <code>short</code> value to be written.
*/
- public final void writeShort(int v) {
+ public void writeShort(int v) {
// if (logger.isTraceEnabled()) logger.trace(" short={}", v);
ensureCapacity(2);
@@ -521,7 +521,7 @@ public class MsgStreamer extends OutputStream
*
* @param v the <code>char</code> value to be written.
*/
- public final void writeChar(int v) {
+ public void writeChar(int v) {
// if (logger.isTraceEnabled()) logger.trace(" char={}", v);
ensureCapacity(2);
@@ -551,7 +551,7 @@ public class MsgStreamer extends OutputStream
*
* @param v the <code>int</code> value to be written.
*/
- public final void writeInt(int v) {
+ public void writeInt(int v) {
// if (logger.isTraceEnabled()) logger.trace(" int={}", v);
ensureCapacity(4);
@@ -585,7 +585,7 @@ public class MsgStreamer extends OutputStream
*
* @param v the <code>long</code> value to be written.
*/
- public final void writeLong(long v) {
+ public void writeLong(long v) {
// if (logger.isTraceEnabled()) logger.trace(" long={}", v);
ensureCapacity(8);
@@ -606,7 +606,7 @@ public class MsgStreamer extends OutputStream
*
* @param v the <code>float</code> value to be written.
*/
- public final void writeFloat(float v) {
+ public void writeFloat(float v) {
// if (logger.isTraceEnabled()) logger.trace(" float={}", v);
ensureCapacity(4);
@@ -627,7 +627,7 @@ public class MsgStreamer extends OutputStream
*
* @param v the <code>double</code> value to be written.
*/
- public final void writeDouble(double v) {
+ public void writeDouble(double v) {
// if (logger.isTraceEnabled()) logger.trace(" double={}", v);
ensureCapacity(8);
@@ -651,7 +651,7 @@ public class MsgStreamer extends OutputStream
*
* @param str the string of bytes to be written.
*/
- public final void writeBytes(String str) {
+ public void writeBytes(String str) {
// if (logger.isTraceEnabled()) logger.trace(" bytes={}", str);
if (this.overflowBuf != null) {
@@ -676,7 +676,7 @@ public class MsgStreamer extends OutputStream
*
* @param s the string value to be written.
*/
- public final void writeChars(String s) {
+ public void writeChars(String s) {
// if (logger.isTraceEnabled()) logger.trace(" chars={}", s);
if (this.overflowBuf != null) {
@@ -765,7 +765,7 @@ public class MsgStreamer extends OutputStream
* @param str the string value to be written.
* @exception IOException if an I/O error occurs.
*/
- public final void writeUTF(String str) throws IOException {
+ public void writeUTF(String str) throws IOException {
// if (logger.isTraceEnabled()) logger.trace(" utf={}", str);
if (this.overflowBuf != null) {
@@ -779,7 +779,7 @@ public class MsgStreamer extends OutputStream
}
}
- private final void writeAsciiUTF(String str) throws IOException {
+ private void writeAsciiUTF(String str) throws IOException {
int len = str.length();
if (len > 65535) {
throw new UTFDataFormatException();
@@ -808,7 +808,7 @@ public class MsgStreamer extends OutputStream
}
}
- private final void writeFullUTF(String str) throws IOException {
+ private void writeFullUTF(String str) throws IOException {
int strlen = str.length();
if (strlen > 65535) {
throw new UTFDataFormatException();
@@ -854,7 +854,7 @@ public class MsgStreamer extends OutputStream
/**
* Used when we know the max size will fit in the current buffer.
*/
- private final void writeQuickFullUTF(String str, int strlen) throws IOException {
+ private void writeQuickFullUTF(String str, int strlen) throws IOException {
int utfSizeIdx = this.buffer.position();
// skip bytes reserved for length
this.buffer.position(utfSizeIdx + 2);
@@ -888,7 +888,7 @@ public class MsgStreamer extends OutputStream
* the contents of the HeapDataOutputStream to this streamer. All of this is done to prevent an
* extra copy when the serialized form will all fit into our current buffer.
*/
- public final void writeAsSerializedByteArray(Object v) throws IOException {
+ public void writeAsSerializedByteArray(Object v) throws IOException {
if (v instanceof HeapDataOutputStream) {
HeapDataOutputStream other = (HeapDataOutputStream) v;
InternalDataSerializer.writeArrayLength(other.size(), this);
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedMsgStreamer.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedMsgStreamer.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedMsgStreamer.java
index de9c312..d39b7be 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedMsgStreamer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedMsgStreamer.java
@@ -41,7 +41,7 @@ class VersionedMsgStreamer extends MsgStreamer implements VersionedDataStream {
* {@inheritDoc}
*/
@Override
- public final Version getVersion() {
+ public Version getVersion() {
return this.version;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/util/CollectionUtils.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/util/CollectionUtils.java b/geode-core/src/main/java/org/apache/geode/internal/util/CollectionUtils.java
index 45b73e9..32f041c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/util/CollectionUtils.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/util/CollectionUtils.java
@@ -224,7 +224,7 @@ public abstract class CollectionUtils {
* @since GemFire 8.1
* @see Collection#addAll(Collection)
*/
- public static final <T> boolean addAll(final Collection<T> collection,
+ public static <T> boolean addAll(final Collection<T> collection,
final Enumeration<T> enumeration) {
if (null == enumeration) {
return false;
@@ -247,7 +247,7 @@ public abstract class CollectionUtils {
* @return unmodifiable {@link Iterable}
* @since GemFire 8.1
*/
- public static final <T> Iterable<T> unmodifiableIterable(final Iterable<T> iterable) {
+ public static <T> Iterable<T> unmodifiableIterable(final Iterable<T> iterable) {
return new UnmodifiableIterable<T>(iterable);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java b/geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java
index 35c61c8..d1d0488 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java
@@ -218,7 +218,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* tables, that otherwise encounter collisions for hashCodes that do not differ in lower or upper
* bits.
*/
- public static final int keyHash(final Object o, final boolean compareValues) {
+ public static int keyHash(final Object o, final boolean compareValues) {
int h = compareValues ? o.hashCode() : System.identityHashCode(o);
// Spread bits to regularize both segment and index locations,
// using variant of single-word Wang/Jenkins hash.
@@ -236,7 +236,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* @param hash the hash code for the key
* @return the segment
*/
- final Segment<K, V> segmentFor(final int hash) {
+ Segment<K, V> segmentFor(final int hash) {
if (this.segmentMask == 0) {
return this.segments[0];
}
@@ -329,42 +329,42 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
/**
* @see CustomEntryConcurrentHashMap.HashEntry#getKey()
*/
- public final K getKey() {
+ public K getKey() {
return this.key;
}
/**
* @see CustomEntryConcurrentHashMap.HashEntry#getMapValue()
*/
- public final V getMapValue() {
+ public V getMapValue() {
return this.value;
}
/**
* @see CustomEntryConcurrentHashMap.HashEntry#setMapValue(Object)
*/
- public final void setMapValue(V newValue) {
+ public void setMapValue(V newValue) {
this.value = newValue;
}
/**
* @see CustomEntryConcurrentHashMap.HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
/**
* @see CustomEntryConcurrentHashMap.HashEntry#getNextEntry()
*/
- public final HashEntry<K, V> getNextEntry() {
+ public HashEntry<K, V> getNextEntry() {
return this.next;
}
/**
* @see CustomEntryConcurrentHashMap.HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<K, V> n) {
+ public void setNextEntry(final HashEntry<K, V> n) {
this.next = n;
}
@@ -504,7 +504,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
/**
* Sets table to new HashEntry array. Call only while holding lock or in constructor.
*/
- final void setTable(final HashEntry<K, V>[] newTable) {
+ void setTable(final HashEntry<K, V>[] newTable) {
this.threshold = (int) (newTable.length * this.loadFactor);
this.table = newTable;
}
@@ -512,7 +512,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
/**
* Returns properly casted first entry of bin for given hash.
*/
- final HashEntry<K, V> getFirst(final int hash) {
+ HashEntry<K, V> getFirst(final int hash) {
final HashEntry<K, V>[] tab = this.table;
return tab[hash & (tab.length - 1)];
}
@@ -522,7 +522,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* is possible only if a compiler happens to reorder a HashEntry initialization with its table
* assignment, which is legal under memory model but is not known to ever occur.
*/
- final V readValueUnderLock(final HashEntry<K, V> e) {
+ V readValueUnderLock(final HashEntry<K, V> e) {
final ReentrantReadWriteLock.ReadLock readLock = super.readLock();
readLock.lock();
final V v = e.getMapValue();
@@ -553,7 +553,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
/* Specialized implementations of map methods */
- final V get(final Object key, final int hash) {
+ V get(final Object key, final int hash) {
if (this.count != 0) { // read-volatile
// GemStone change to acquire the read lock on list updates
final ReentrantReadWriteLock.ReadLock listLock = this.listUpdateLock.readLock();
@@ -582,7 +582,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
return null;
}
- final V getNoLock(final Object key, final int hash, final boolean lockListForRead) {
+ V getNoLock(final Object key, final int hash, final boolean lockListForRead) {
if (this.count != 0) { // read-volatile
// GemStone change to acquire the read lock on list updates
ReentrantReadWriteLock.ReadLock listLock = null;
@@ -607,7 +607,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
return null;
}
- final boolean containsKey(final Object key, final int hash) {
+ boolean containsKey(final Object key, final int hash) {
if (this.count != 0) { // read-volatile
// GemStone change to acquire the read lock on list updates
final ReentrantReadWriteLock.ReadLock listLock = this.listUpdateLock.readLock();
@@ -627,7 +627,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
return false;
}
- final boolean containsValue(final Object value) {
+ boolean containsValue(final Object value) {
if (this.count != 0) { // read-volatile
// GemStone change to acquire the read lock on list updates
ReentrantReadWriteLock.ReadLock readLock = this.listUpdateLock.readLock();
@@ -662,7 +662,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
return false;
}
- final boolean replace(final K key, final int hash, final V oldValue, final V newValue) {
+ boolean replace(final K key, final int hash, final V oldValue, final V newValue) {
final ReentrantReadWriteLock.WriteLock writeLock = super.writeLock();
writeLock.lock();
try {
@@ -682,7 +682,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
}
}
- final V replace(final K key, final int hash, final V newValue) {
+ V replace(final K key, final int hash, final V newValue) {
final ReentrantReadWriteLock.WriteLock writeLock = super.writeLock();
writeLock.lock();
try {
@@ -702,7 +702,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
}
}
- final V put(final K key, final int hash, final V value, final boolean onlyIfAbsent) {
+ V put(final K key, final int hash, final V value, final boolean onlyIfAbsent) {
final ReentrantReadWriteLock.WriteLock writeLock = super.writeLock();
writeLock.lock();
try {
@@ -738,7 +738,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
// GemStone additions
- final <C, P> V create(final K key, final int hash, final MapCallback<K, V, C, P> valueCreator,
+ <C, P> V create(final K key, final int hash, final MapCallback<K, V, C, P> valueCreator,
final C context, final P createParams, final boolean lockForRead) {
// TODO: This can be optimized by having a special lock implementation
// that will allow upgrade from read to write lock atomically. This can
@@ -804,7 +804,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
}
}
- final V get(final Object key, final int hash, final MapCallback<K, V, ?, ?> readCallback) {
+ V get(final Object key, final int hash, final MapCallback<K, V, ?, ?> readCallback) {
final ReentrantReadWriteLock.ReadLock readLock = super.readLock();
readLock.lock();
try {
@@ -831,7 +831,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
// End GemStone additions
- final void rehash() {
+ void rehash() {
final HashEntry<K, V>[] oldTable = this.table;
final int oldCapacity = oldTable.length;
if (oldCapacity >= MAXIMUM_CAPACITY) {
@@ -934,7 +934,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
*/
// GemStone change
// added "condition" and "removeParams" parameters
- final <C, P> V remove(final Object key, final int hash, final Object value,
+ <C, P> V remove(final Object key, final int hash, final Object value,
final MapCallback<K, V, C, P> condition, final C context, final P removeParams) {
// End GemStone change
final ReentrantReadWriteLock.WriteLock writeLock = super.writeLock();
@@ -1003,7 +1003,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
/**
* GemStone added the clearedEntries param and the result
*/
- final ArrayList<HashEntry<?, ?>> clear(ArrayList<HashEntry<?, ?>> clearedEntries) {
+ ArrayList<HashEntry<?, ?>> clear(ArrayList<HashEntry<?, ?>> clearedEntries) {
if (this.count != 0) {
final ReentrantReadWriteLock.WriteLock writeLock = super.writeLock();
writeLock.lock();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/cli/CommandService.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/cli/CommandService.java b/geode-core/src/main/java/org/apache/geode/management/cli/CommandService.java
index 936f602..767cf94 100644
--- a/geode-core/src/main/java/org/apache/geode/management/cli/CommandService.java
+++ b/geode-core/src/main/java/org/apache/geode/management/cli/CommandService.java
@@ -105,7 +105,7 @@ public abstract class CommandService {
* @param cache Underlying <code>Cache</code> instance to be used to create a Command Service.
* @throws CommandServiceException If command service could not be initialized.
*/
- public static final CommandService createLocalCommandService(Cache cache)
+ public static CommandService createLocalCommandService(Cache cache)
throws CommandServiceException {
if (cache == null || cache.isClosed()) {
throw new CacheClosedException(
@@ -136,7 +136,7 @@ public abstract class CommandService {
*
* @return A usable <code>CommandService</code> or null if one cannot be found.
*/
- public static final CommandService getUsableLocalCommandService() {
+ public static CommandService getUsableLocalCommandService() {
if (localCommandService != null && localCommandService.isUsable()) {
return localCommandService;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/AlertDetails.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/AlertDetails.java b/geode-core/src/main/java/org/apache/geode/management/internal/AlertDetails.java
index 99fb421..ecf8da2 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/AlertDetails.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/AlertDetails.java
@@ -142,7 +142,7 @@ public class AlertDetails {
* @param intLevel int alert level to convert
* @return A string representation of the alert level
*/
- public static final String getAlertLevelAsString(final int intLevel) {
+ public static String getAlertLevelAsString(final int intLevel) {
if (intLevel == Alert.SEVERE) {
return "severe";
} else if (intLevel == Alert.ERROR) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/ArrayConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/ArrayConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/ArrayConverter.java
index 1da9808..624d6fc 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/ArrayConverter.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/ArrayConverter.java
@@ -34,7 +34,7 @@ public class ArrayConverter extends OpenTypeConverter {
this.elementConverter = elementConverter;
}
- final Object toNonNullOpenValue(Object value) throws OpenDataException {
+ Object toNonNullOpenValue(Object value) throws OpenDataException {
Object[] valueArray = (Object[]) value;
final int len = valueArray.length;
final Object[] openArray = (Object[]) Array.newInstance(getOpenClass().getComponentType(), len);
@@ -44,7 +44,7 @@ public class ArrayConverter extends OpenTypeConverter {
return openArray;
}
- public final Object fromNonNullOpenValue(Object openValue) throws InvalidObjectException {
+ public Object fromNonNullOpenValue(Object openValue) throws InvalidObjectException {
final Object[] openArray = (Object[]) openValue;
final Type targetType = getTargetType();
final Object[] valueArray;
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/CollectionConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/CollectionConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/CollectionConverter.java
index 5d13516..a3f6ad7 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/CollectionConverter.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/CollectionConverter.java
@@ -60,7 +60,7 @@ public class CollectionConverter extends OpenTypeConverter {
}
}
- final Object toNonNullOpenValue(Object value) throws OpenDataException {
+ Object toNonNullOpenValue(Object value) throws OpenDataException {
final Collection valueCollection = (Collection) value;
if (valueCollection instanceof SortedSet) {
Comparator comparator = ((SortedSet) valueCollection).comparator();
@@ -77,7 +77,7 @@ public class CollectionConverter extends OpenTypeConverter {
return openArray;
}
- public final Object fromNonNullOpenValue(Object openValue) throws InvalidObjectException {
+ public Object fromNonNullOpenValue(Object openValue) throws InvalidObjectException {
final Object[] openArray = (Object[]) openValue;
final Collection<Object> valueCollection;
try {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/CompositeConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/CompositeConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/CompositeConverter.java
index 51dc980..0ab3dfe 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/CompositeConverter.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/CompositeConverter.java
@@ -55,7 +55,7 @@ public class CompositeConverter extends OpenTypeConverter {
/**
* Converts to open value
*/
- final Object toNonNullOpenValue(Object value) throws OpenDataException {
+ Object toNonNullOpenValue(Object value) throws OpenDataException {
CompositeType ct = (CompositeType) getOpenType();
if (value instanceof CompositeDataView)
return ((CompositeDataView) value).toCompositeData(ct);
@@ -128,7 +128,7 @@ public class CompositeConverter extends OpenTypeConverter {
makeCompositeBuilder();
}
- public final Object fromNonNullOpenValue(Object value) throws InvalidObjectException {
+ public Object fromNonNullOpenValue(Object value) throws InvalidObjectException {
makeCompositeBuilder();
return compositeBuilder.fromCompositeData((CompositeData) value, itemNames, getterConverters);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/EnumConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/EnumConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/EnumConverter.java
index 8923c08..f9e7547 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/EnumConverter.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/EnumConverter.java
@@ -30,11 +30,11 @@ public class EnumConverter<T extends Enum<T>> extends OpenTypeConverter {
this.enumClass = enumClass;
}
- final Object toNonNullOpenValue(Object value) {
+ Object toNonNullOpenValue(Object value) {
return ((Enum) value).name();
}
- public final Object fromNonNullOpenValue(Object value) throws InvalidObjectException {
+ public Object fromNonNullOpenValue(Object value) throws InvalidObjectException {
try {
return Enum.valueOf(enumClass, (String) value);
} catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/IdentityConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/IdentityConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/IdentityConverter.java
index 1d3a024..ce5ba45 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/IdentityConverter.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/IdentityConverter.java
@@ -37,7 +37,7 @@ public class IdentityConverter extends OpenTypeConverter {
return value;
}
- public final Object fromNonNullOpenValue(Object value) {
+ public Object fromNonNullOpenValue(Object value) {
return value;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/OpenMethod.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/OpenMethod.java b/geode-core/src/main/java/org/apache/geode/management/internal/OpenMethod.java
index b7591db..e144717 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/OpenMethod.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/OpenMethod.java
@@ -108,15 +108,15 @@ public class OpenMethod {
return sig;
}
- final Object toOpenReturnValue(Object ret) throws OpenDataException {
+ Object toOpenReturnValue(Object ret) throws OpenDataException {
return returnTypeConverter.toOpenValue(ret);
}
- final Object fromOpenReturnValue(Object ret) throws InvalidObjectException {
+ Object fromOpenReturnValue(Object ret) throws InvalidObjectException {
return returnTypeConverter.fromOpenValue(ret);
}
- final Object[] toOpenParameters(Object[] params) throws OpenDataException {
+ Object[] toOpenParameters(Object[] params) throws OpenDataException {
if (paramConversionIsIdentity || params == null)
return params;
final Object[] oparams = new Object[params.length];
@@ -125,7 +125,7 @@ public class OpenMethod {
return oparams;
}
- final Object[] fromOpenParameters(Object[] params) throws InvalidObjectException {
+ Object[] fromOpenParameters(Object[] params) throws InvalidObjectException {
if (paramConversionIsIdentity || params == null)
return params;
final Object[] jparams = new Object[params.length];
@@ -134,11 +134,11 @@ public class OpenMethod {
return jparams;
}
- final Object toOpenParameter(Object param, int paramNo) throws OpenDataException {
+ Object toOpenParameter(Object param, int paramNo) throws OpenDataException {
return paramTypeConverters[paramNo].toOpenValue(param);
}
- final Object fromOpenParameter(Object param, int paramNo) throws InvalidObjectException {
+ Object fromOpenParameter(Object param, int paramNo) throws InvalidObjectException {
return paramTypeConverters[paramNo].fromOpenValue(param);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java
index f4af2de..a019f95 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java
@@ -117,7 +117,7 @@ public abstract class OpenTypeConverter {
* @return the java type object
* @throws InvalidObjectException
*/
- public final Object fromOpenValue(Object value) throws InvalidObjectException {
+ public Object fromOpenValue(Object value) throws InvalidObjectException {
if (value == null)
return null;
else
@@ -143,7 +143,7 @@ public abstract class OpenTypeConverter {
* @return open class object
* @throws OpenDataException
*/
- final Object toOpenValue(Object value) throws OpenDataException {
+ Object toOpenValue(Object value) throws OpenDataException {
if (value == null)
return null;
else
@@ -161,15 +161,15 @@ public abstract class OpenTypeConverter {
return false;
}
- final Type getTargetType() {
+ Type getTargetType() {
return targetType;
}
- final OpenType getOpenType() {
+ OpenType getOpenType() {
return openType;
}
- final Class getOpenClass() {
+ Class getOpenClass() {
return openClass;
}
@@ -594,7 +594,7 @@ public abstract class OpenTypeConverter {
return possibleCause;
}
- final Object fromCompositeData(CompositeData cd, String[] itemNames,
+ Object fromCompositeData(CompositeData cd, String[] itemNames,
OpenTypeConverter[] converters) {
throw new Error();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/TableConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/TableConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/TableConverter.java
index 5b18065..8d41c5a 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/TableConverter.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/TableConverter.java
@@ -43,7 +43,7 @@ public class TableConverter extends OpenTypeConverter {
this.valueConverter = valueConverter;
}
- final Object toNonNullOpenValue(Object value) throws OpenDataException {
+ Object toNonNullOpenValue(Object value) throws OpenDataException {
final Map<Object, Object> valueMap = (Map<Object, Object>) value;
if (valueMap instanceof SortedMap) {
Comparator comparator = ((SortedMap) valueMap).comparator();
@@ -68,7 +68,7 @@ public class TableConverter extends OpenTypeConverter {
return table;
}
- public final Object fromNonNullOpenValue(Object openValue) throws InvalidObjectException {
+ public Object fromNonNullOpenValue(Object openValue) throws InvalidObjectException {
final TabularData table = (TabularData) openValue;
final Collection<CompositeData> rows = (Collection<CompositeData>) table.values();
final Map<Object, Object> valueMap =
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java
index 9500677..4018beb 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java
@@ -75,7 +75,7 @@ public class DeployCommands extends AbstractCommandsSupport {
@CliMetaData(
interceptor = "org.apache.geode.management.internal.cli.commands.DeployCommands$Interceptor",
relatedTopic = {CliStrings.TOPIC_GEODE_CONFIG})
- public final Result deploy(
+ public Result deploy(
@CliOption(key = {CliStrings.DEPLOY__GROUP}, help = CliStrings.DEPLOY__GROUP__HELP,
optionContext = ConverterHint.MEMBERGROUP) String[] groups,
@CliOption(key = {CliStrings.DEPLOY__JAR}, help = CliStrings.DEPLOY__JAR__HELP) String jar,
@@ -153,7 +153,7 @@ public class DeployCommands extends AbstractCommandsSupport {
@CliCommand(value = {CliStrings.UNDEPLOY}, help = CliStrings.UNDEPLOY__HELP)
@CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_CONFIG})
@ResourceOperation(resource = Resource.DATA, operation = Operation.MANAGE)
- public final Result undeploy(
+ public Result undeploy(
@CliOption(key = {CliStrings.UNDEPLOY__GROUP}, help = CliStrings.UNDEPLOY__GROUP__HELP,
optionContext = ConverterHint.MEMBERGROUP) String[] groups,
@CliOption(key = {CliStrings.UNDEPLOY__JAR}, help = CliStrings.UNDEPLOY__JAR__HELP,
@@ -223,7 +223,7 @@ public class DeployCommands extends AbstractCommandsSupport {
@CliCommand(value = {CliStrings.LIST_DEPLOYED}, help = CliStrings.LIST_DEPLOYED__HELP)
@CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_CONFIG})
@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ)
- public final Result listDeployed(@CliOption(key = {CliStrings.LIST_DEPLOYED__GROUP},
+ public Result listDeployed(@CliOption(key = {CliStrings.LIST_DEPLOYED__GROUP},
help = CliStrings.LIST_DEPLOYED__GROUP__HELP) String group) {
try {
@@ -277,7 +277,7 @@ public class DeployCommands extends AbstractCommandsSupport {
}
@CliAvailabilityIndicator({CliStrings.DEPLOY, CliStrings.UNDEPLOY, CliStrings.LIST_DEPLOYED})
- public final boolean isConnected() {
+ public boolean isConnected() {
if (!CliUtil.isGfshVM()) {
return true;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusCommands.java
index f8d27de..29627f3 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusCommands.java
@@ -83,7 +83,7 @@ public class StatusCommands extends AbstractCommandsSupport implements CommandMa
}
@CliAvailabilityIndicator({CliStrings.STATUS_SHARED_CONFIG})
- public final boolean isConnected() {
+ public boolean isConnected() {
if (!CliUtil.isGfshVM()) {
return true;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/CacheElement.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/CacheElement.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/CacheElement.java
index 8ecf6a7..c1d4b55 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/CacheElement.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/CacheElement.java
@@ -132,7 +132,7 @@ public class CacheElement {
* @throws IOException if unable to open {@link InputSource}.
* @since GemFire 8.1
*/
- private static final InputSource resolveSchema(final Map<String, List<String>> schemaLocationMap,
+ private static InputSource resolveSchema(final Map<String, List<String>> schemaLocationMap,
String namespaceUri) throws IOException {
final EntityResolver2 entityResolver = new CacheXmlParser();
@@ -170,7 +170,7 @@ public class CacheElement {
* @throws XPathExpressionException
* @since GemFire 8.1
*/
- private static final void buildElementMapCacheType(
+ private static void buildElementMapCacheType(
final LinkedHashMap<String, CacheElement> elementMap, final InputSource inputSource)
throws SAXException, IOException, ParserConfigurationException, XPathExpressionException {
final Document doc = XmlUtils.getDocumentBuilder().parse(inputSource);
[22/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java
index 3987eb6..48744d7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java
@@ -15,11 +15,21 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -27,57 +37,77 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, value);
+ public VMThinRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -85,13 +115,18 @@ public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -105,63 +140,74 @@ public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -169,5 +215,8 @@ public class VMThinRegionEntryOffHeapIntKey extends VMThinRegionEntryOffHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java
index 7b519c5..a1d2a46 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java
@@ -15,11 +15,21 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -27,57 +37,79 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, value);
+ public VMThinRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -85,13 +117,18 @@ public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -105,63 +142,67 @@ public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -169,5 +210,8 @@ public class VMThinRegionEntryOffHeapLongKey extends VMThinRegionEntryOffHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java
index 01a6e2d..e835709 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java
@@ -15,11 +15,21 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -27,57 +37,75 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapObjectKey extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, value);
+ public VMThinRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -85,13 +113,18 @@ public class VMThinRegionEntryOffHeapObjectKey extends VMThinRegionEntryOffHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -105,61 +138,69 @@ public class VMThinRegionEntryOffHeapObjectKey extends VMThinRegionEntryOffHeap
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java
index b19fe07..f7e42bf 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java
@@ -15,11 +15,21 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -27,74 +37,88 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VMThinRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -102,13 +126,18 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -122,80 +151,83 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -204,15 +236,16 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -220,7 +253,7 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -233,5 +266,8 @@ public class VMThinRegionEntryOffHeapStringKey1 extends VMThinRegionEntryOffHeap
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java
index a33f2da..c5158e2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java
@@ -15,11 +15,21 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -27,41 +37,55 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VMThinRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -74,39 +98,39 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -114,13 +138,18 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -134,81 +163,84 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -218,10 +250,10 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -232,16 +264,17 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -255,7 +288,7 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -274,5 +307,7 @@ public class VMThinRegionEntryOffHeapStringKey2 extends VMThinRegionEntryOffHeap
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java
index ecdb0e4..8a5e180 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java
@@ -15,12 +15,21 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -28,58 +37,73 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// lru: LRU
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
- public VMThinRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, value);
+ public VMThinRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinRegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -87,13 +111,18 @@ public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -107,64 +136,68 @@ public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -174,5 +207,8 @@ public class VMThinRegionEntryOffHeapUUIDKey extends VMThinRegionEntryOffHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java
index 2011602..061be83 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java
@@ -15,63 +15,106 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapIntKey
- extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapIntKey(RegionEntryContext context, int key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -80,42 +123,40 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -126,22 +167,23 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -151,158 +193,147 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -310,73 +341,67 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -388,15 +413,16 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -404,17 +430,17 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -426,11 +452,11 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -439,6 +465,7 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -448,9 +475,9 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -465,21 +492,29 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -487,5 +522,8 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[75/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java
index 671ce0e..80da3c2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java
@@ -18,35 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+ public VMStatsDiskLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
@Retained
@@ -81,57 +65,58 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -147,6 +132,7 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -164,7 +150,7 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -172,36 +158,41 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -211,13 +202,13 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -228,10 +219,11 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -239,12 +231,12 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -254,58 +246,60 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -317,36 +311,44 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -356,33 +358,38 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -391,7 +398,7 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -402,51 +409,61 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapLongKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -454,23 +471,25 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -478,7 +497,7 @@ public class VMStatsDiskLRURegionEntryOffHeapLongKey extends VMStatsDiskLRURegio
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java
index c02cd46..3148438 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java
@@ -18,35 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+ public VMStatsDiskLRURegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
@Retained
@@ -81,14 +65,14 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -99,35 +83,40 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -143,6 +132,7 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -160,7 +150,7 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -168,36 +158,41 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -207,13 +202,13 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -224,10 +219,11 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -235,12 +231,12 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -250,58 +246,60 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -313,36 +311,44 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -352,27 +358,33 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -381,13 +393,12 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
-
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -398,51 +409,61 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -450,19 +471,20 @@ public class VMStatsDiskLRURegionEntryOffHeapObjectKey extends VMStatsDiskLRUReg
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java
index ce76901..9d0794e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java
@@ -18,35 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+ public VMStatsDiskLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
@Retained
@@ -81,14 +65,14 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -96,14 +80,15 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -114,35 +99,40 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -158,6 +148,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -175,7 +166,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -183,36 +174,41 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -222,13 +218,13 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -239,10 +235,11 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -250,12 +247,12 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -265,58 +262,60 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -328,36 +327,44 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -367,33 +374,38 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -402,7 +414,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -413,51 +425,61 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -465,39 +487,42 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -506,16 +531,16 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -523,7 +548,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -536,7 +561,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey1 extends VMStatsDiskLRURe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java
index 787987e..93cff9c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java
@@ -18,35 +18,19 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+ public VMStatsDiskLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -81,14 +65,14 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -97,19 +81,20 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -126,35 +111,40 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -170,6 +160,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -187,7 +178,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -195,36 +186,41 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -234,13 +230,13 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -251,10 +247,11 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -262,12 +259,12 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -277,58 +274,60 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -340,36 +339,44 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -379,33 +386,38 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -414,7 +426,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -425,51 +437,61 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -477,16 +499,16 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -495,14 +517,17 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -510,7 +535,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -520,10 +545,10 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -534,17 +559,17 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -558,7 +583,7 @@ public class VMStatsDiskLRURegionEntryOffHeapStringKey2 extends VMStatsDiskLRURe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
[20/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java
index dec4f9f..6b7d9fc 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java
@@ -15,25 +15,50 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
@@ -41,36 +66,50 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapStringKey2
- extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryHeapStringKey2 extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -83,24 +122,24 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -109,42 +148,40 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -155,22 +192,23 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -180,158 +218,147 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -339,73 +366,67 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -417,15 +438,16 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -433,17 +455,17 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -455,11 +477,11 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -468,6 +490,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -477,9 +500,9 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -494,39 +517,39 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -536,10 +559,10 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -550,16 +573,17 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -573,7 +597,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -592,5 +616,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey2
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java
index b4934ed..d21e745 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java
@@ -15,65 +15,111 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
- extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryHeapUUIDKey extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -82,42 +128,40 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -128,22 +172,23 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -153,158 +198,147 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -312,73 +346,67 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -390,15 +418,16 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -406,17 +435,17 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -428,11 +457,11 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -441,6 +470,7 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -450,9 +480,9 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -467,22 +497,23 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -492,5 +523,8 @@ public class VersionedStatsDiskLRURegionEntryHeapUUIDKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java
index 6c5850e..05af992 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java
@@ -15,84 +15,121 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
- extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryOffHeapIntKey extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -100,13 +137,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -120,60 +162,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -184,22 +226,23 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -209,158 +252,147 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -368,73 +400,67 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -446,15 +472,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -462,17 +489,17 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -484,11 +511,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -497,6 +524,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -506,9 +534,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -523,21 +551,29 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -545,5 +581,8 @@ public class VersionedStatsDiskLRURegionEntryOffHeapIntKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[18/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java
index 7bd9873..8e81c36 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java
@@ -15,66 +15,101 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
- extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2 extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -87,41 +122,39 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -129,13 +162,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -149,60 +187,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -213,22 +251,23 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -238,158 +277,147 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -397,73 +425,67 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -475,15 +497,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -491,17 +514,17 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -513,11 +536,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -526,6 +549,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -535,9 +559,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -552,39 +576,39 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -594,10 +618,10 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -608,16 +632,17 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -631,7 +656,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -650,5 +675,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java
index 2f7d08e..c80acd9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java
@@ -15,86 +15,126 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// disk: 1
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
- extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -102,13 +142,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -122,60 +167,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -186,22 +231,23 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -211,158 +257,147 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -370,73 +405,67 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -448,15 +477,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -464,17 +494,17 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -486,11 +516,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -499,6 +529,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -508,9 +539,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -525,22 +556,23 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -550,5 +582,8 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java
index 340cac7..80feb19 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java
@@ -15,60 +15,106 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapIntKey(RegionEntryContext context, int key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedStatsDiskRegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -77,53 +123,52 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -133,60 +178,63 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -194,73 +242,67 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -272,15 +314,16 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -288,17 +331,17 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -310,11 +353,11 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -323,6 +366,7 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -332,9 +376,9 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -349,21 +393,29 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -371,5 +423,8 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java
index 6a5842f..e1ad215 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java
@@ -15,60 +15,108 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapLongKey(RegionEntryContext context, long key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedStatsDiskRegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -77,53 +125,52 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -133,60 +180,63 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -194,73 +244,67 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -272,15 +316,16 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -288,17 +333,17 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -310,11 +355,11 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -323,6 +368,7 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -332,9 +378,9 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -349,21 +395,22 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -371,5 +418,8 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[63/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java
index 061be83..14bda85 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java
@@ -18,40 +18,26 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +58,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+public class VersionedStatsDiskLRURegionEntryHeapIntKey
+ extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -81,40 +68,42 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -123,24 +112,29 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -150,13 +144,13 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -167,10 +161,11 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -178,12 +173,12 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -193,58 +188,60 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -256,36 +253,44 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -295,33 +300,38 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -330,7 +340,7 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -341,51 +351,61 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapIntKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -393,15 +413,16 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -413,16 +434,16 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -430,17 +451,18 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -452,11 +474,11 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -465,7 +487,7 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -475,9 +497,9 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -492,29 +514,26 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -522,7 +541,7 @@ public class VersionedStatsDiskLRURegionEntryHeapIntKey extends VersionedStatsDi
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java
index d4bce0d..342f083 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java
@@ -18,40 +18,26 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +58,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+public class VersionedStatsDiskLRURegionEntryHeapLongKey
+ extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -81,42 +68,42 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -125,24 +112,29 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -152,13 +144,13 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -169,10 +161,11 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -180,12 +173,12 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -195,58 +188,60 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -258,36 +253,44 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -297,33 +300,38 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -332,7 +340,7 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -343,51 +351,61 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapLongKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -395,15 +413,16 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -415,16 +434,16 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -432,17 +451,18 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -454,11 +474,11 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -467,7 +487,7 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -477,9 +497,9 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -494,22 +514,24 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -517,7 +539,7 @@ public class VersionedStatsDiskLRURegionEntryHeapLongKey extends VersionedStatsD
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java
index 32f2cea..eacccab 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java
@@ -18,40 +18,26 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +58,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+public class VersionedStatsDiskLRURegionEntryHeapObjectKey
+ extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -81,14 +68,14 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -99,20 +86,23 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -121,24 +111,29 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -148,13 +143,13 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -165,10 +160,11 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -176,12 +172,12 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -191,58 +187,60 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -254,36 +252,44 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -293,27 +299,33 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -322,13 +334,12 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
-
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -339,51 +350,61 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -391,15 +412,16 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -411,16 +433,16 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -428,17 +450,18 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -450,11 +473,11 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -463,7 +486,7 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -473,9 +496,9 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -490,18 +513,19 @@ public class VersionedStatsDiskLRURegionEntryHeapObjectKey extends VersionedStat
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java
index f357c98..11055da 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java
@@ -18,40 +18,26 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -72,8 +58,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedStatsDiskLRURegionEntryHeap {
- public VersionedStatsDiskLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+public class VersionedStatsDiskLRURegionEntryHeapStringKey1
+ extends VersionedStatsDiskLRURegionEntryHeap {
+ public VersionedStatsDiskLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -81,14 +68,14 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -96,14 +83,15 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -114,20 +102,23 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -136,24 +127,29 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -163,13 +159,13 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -180,10 +176,11 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -191,12 +188,12 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -206,58 +203,60 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -269,36 +268,44 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -308,33 +315,38 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -343,7 +355,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -354,51 +366,61 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -406,15 +428,16 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -426,16 +449,16 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -443,17 +466,18 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -465,11 +489,11 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -478,7 +502,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -488,9 +512,9 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -505,38 +529,41 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -545,16 +572,16 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -562,7 +589,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -575,7 +602,7 @@ public class VersionedStatsDiskLRURegionEntryHeapStringKey1 extends VersionedSta
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[67/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java
index 8a4a00b..9a29a32 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java
@@ -18,35 +18,17 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +55,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+ public VMThinDiskLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -81,14 +63,14 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -97,19 +79,20 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -126,35 +109,40 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapStringKey2.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -170,6 +158,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -187,7 +176,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -195,36 +184,41 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -234,13 +228,13 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -251,10 +245,11 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -262,12 +257,12 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -277,58 +272,60 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -340,36 +337,44 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -379,33 +384,38 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -413,11 +423,8 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -426,14 +433,17 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -441,7 +451,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -451,10 +461,10 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -465,17 +475,17 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -489,7 +499,7 @@ public class VMThinDiskLRURegionEntryOffHeapStringKey2 extends VMThinDiskLRURegi
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java
index 3e88d80..2fbe939 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java
@@ -20,33 +20,17 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
-
-
-
-
-
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionEntryOffHeap {
- public VMThinDiskLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMThinDiskLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -81,60 +65,59 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapUUIDKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -150,6 +133,7 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -167,7 +151,7 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -175,36 +159,41 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -214,13 +203,13 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -231,10 +220,11 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -242,12 +232,12 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -257,58 +247,60 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -320,36 +312,44 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -359,33 +359,38 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -393,19 +398,18 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -415,7 +419,7 @@ public class VMThinDiskLRURegionEntryOffHeapUUIDKey extends VMThinDiskLRURegionE
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java
index 772ece1..99e1b9c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java
@@ -18,19 +18,10 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -54,7 +45,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VMThinDiskRegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -62,40 +53,41 @@ public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapIntKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -104,24 +96,29 @@ public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -131,12 +128,13 @@ public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -144,12 +142,12 @@ public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -159,77 +157,71 @@ public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -237,7 +229,7 @@ public class VMThinDiskRegionEntryHeapIntKey extends VMThinDiskRegionEntryHeap {
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java
index 234bbbd..a00b4b6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java
@@ -18,19 +18,10 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -54,7 +45,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VMThinDiskRegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -62,42 +53,41 @@ public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapLongKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -106,24 +96,29 @@ public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -133,12 +128,13 @@ public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -146,12 +142,12 @@ public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -161,70 +157,69 @@ public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -232,7 +227,7 @@ public class VMThinDiskRegionEntryHeapLongKey extends VMThinDiskRegionEntryHeap
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java
index 61a7ed5..d890d18 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java
@@ -18,19 +18,10 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -54,7 +45,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapObjectKey extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VMThinDiskRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -62,14 +53,14 @@ public class VMThinDiskRegionEntryHeapObjectKey extends VMThinDiskRegionEntryHea
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -80,20 +71,22 @@ public class VMThinDiskRegionEntryHeapObjectKey extends VMThinDiskRegionEntryHea
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapObjectKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -102,24 +95,29 @@ public class VMThinDiskRegionEntryHeapObjectKey extends VMThinDiskRegionEntryHea
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -129,12 +127,13 @@ public class VMThinDiskRegionEntryHeapObjectKey extends VMThinDiskRegionEntryHea
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -142,12 +141,12 @@ public class VMThinDiskRegionEntryHeapObjectKey extends VMThinDiskRegionEntryHea
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -157,66 +156,64 @@ public class VMThinDiskRegionEntryHeapObjectKey extends VMThinDiskRegionEntryHea
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java
index dd44a77..62ae556 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java
@@ -18,19 +18,10 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -54,7 +45,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VMThinDiskRegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -62,14 +53,14 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -77,14 +68,15 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -95,20 +87,22 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapStringKey1.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -117,24 +111,29 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -144,12 +143,13 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -157,12 +157,12 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -172,86 +172,86 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -260,16 +260,16 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -277,7 +277,7 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -290,7 +290,7 @@ public class VMThinDiskRegionEntryHeapStringKey1 extends VMThinDiskRegionEntryHe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java
index 3376704..2acfe8c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java
@@ -18,19 +18,10 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -54,7 +45,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VMThinDiskRegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -62,14 +53,14 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -78,19 +69,20 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -107,20 +99,22 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapStringKey2.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -129,24 +123,29 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -156,12 +155,13 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -169,12 +169,12 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -184,63 +184,60 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
}
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -249,14 +246,17 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -264,7 +264,7 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -274,10 +274,10 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -288,17 +288,17 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -312,7 +312,7 @@ public class VMThinDiskRegionEntryHeapStringKey2 extends VMThinDiskRegionEntryHe
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java
index f1f8144..dd3dce2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java
@@ -20,17 +20,10 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-
-
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
@@ -54,7 +47,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap {
- public VMThinDiskRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VMThinDiskRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -62,45 +55,42 @@ public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinDiskRegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VMThinDiskRegionEntryHeapUUIDKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -109,24 +99,29 @@ public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -136,12 +131,13 @@ public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -149,12 +145,12 @@ public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -164,71 +160,70 @@ public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
-
-
-
-
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -238,7 +233,7 @@ public class VMThinDiskRegionEntryHeapUUIDKey extends VMThinDiskRegionEntryHeap
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[78/78] geode git commit: fixup
Posted by kl...@apache.org.
fixup
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/118048cf
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/118048cf
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/118048cf
Branch: refs/heads/feature/GEODE-2929
Commit: 118048cf93a5297349f57343e2b742ad37500544
Parents: 5adb681
Author: Kirk Lund <kl...@apache.org>
Authored: Mon May 15 19:18:48 2017 -0700
Committer: Kirk Lund <kl...@apache.org>
Committed: Mon May 15 19:18:48 2017 -0700
----------------------------------------------------------------------
.../apache/geode/cache/client/internal/ClientMetadataService.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/118048cf/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
index 4b6d83b..3502757 100755
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientMetadataService.java
@@ -539,7 +539,7 @@ public class ClientMetadataService {
}
}
- void getClientPRMetadata(LocalRegion region) {
+ public void getClientPRMetadata(LocalRegion region) {
final String regionFullPath = region.getFullPath();
ClientPartitionAdvisor advisor = null;
InternalPool pool = region.getServerProxy().getPool();
[46/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java
index c166c71..bc533ad 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java
@@ -18,35 +18,22 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +59,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+public class VersionedThinLRURegionEntryOffHeapStringKey2
+ extends VersionedThinLRURegionEntryOffHeap {
+ public VersionedThinLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
@Retained
@@ -81,33 +69,34 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -124,35 +113,40 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey2.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapStringKey2.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -168,6 +162,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -185,7 +180,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -193,36 +188,41 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -230,51 +230,57 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -284,33 +290,38 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -318,10 +329,8 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -333,16 +342,16 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -350,17 +359,18 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -372,11 +382,11 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -385,7 +395,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -395,9 +405,9 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -412,15 +422,15 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -429,14 +439,17 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -444,7 +457,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -454,10 +467,10 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -468,17 +481,17 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -492,7 +505,7 @@ public class VersionedThinLRURegionEntryOffHeapStringKey2 extends VersionedThinL
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java
index a8f0c3f..60ac459 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java
@@ -20,33 +20,22 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
-
-
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -73,7 +62,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRURegionEntryOffHeap {
- public VersionedThinLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VersionedThinLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -81,14 +70,14 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -97,35 +86,40 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapUUIDKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinLRURegionEntryOffHeapUUIDKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -141,6 +135,7 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -158,7 +153,7 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -166,36 +161,41 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -203,51 +203,57 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -257,33 +263,38 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -291,10 +302,8 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -306,16 +315,16 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -323,17 +332,18 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -345,11 +355,11 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -358,7 +368,7 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -368,9 +378,9 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -385,23 +395,25 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -411,7 +423,7 @@ public class VersionedThinLRURegionEntryOffHeapUUIDKey extends VersionedThinLRUR
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java
index d8ddae0..51347e0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,12 +27,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -59,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VersionedThinRegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -67,40 +56,39 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapIntKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -109,24 +97,29 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -134,14 +127,10 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -153,16 +142,16 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -170,17 +159,18 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -192,11 +182,11 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -205,7 +195,7 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -215,9 +205,9 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -232,29 +222,26 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -262,7 +249,7 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java
index bae7e51..0269e67 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,12 +27,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -59,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VersionedThinRegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -67,42 +56,39 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapLongKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -111,24 +97,29 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -136,14 +127,10 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -155,16 +142,16 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -172,17 +159,18 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -194,11 +182,11 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -207,7 +195,7 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -217,9 +205,9 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -234,22 +222,24 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -257,7 +247,7 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java
index 46f0c29..f4bfa8c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,12 +27,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -59,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VersionedThinRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -67,38 +56,40 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapObjectKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -107,24 +98,29 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -132,14 +128,10 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -151,16 +143,16 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -168,17 +160,18 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -190,11 +183,11 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -203,7 +196,7 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -213,9 +206,9 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -230,18 +223,19 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java
index 4f48d7d..0ad5265 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,12 +27,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -59,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VersionedThinRegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -67,27 +56,28 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -98,20 +88,23 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapStringKey1.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -120,24 +113,29 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -145,14 +143,10 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -164,16 +158,16 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -181,17 +175,18 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -203,11 +198,11 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -216,7 +211,7 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -226,9 +221,9 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -243,38 +238,41 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -283,16 +281,16 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -300,7 +298,7 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -313,7 +311,7 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java
index f69d4d7..2d8817b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java
@@ -18,11 +18,6 @@ package org.apache.geode.internal.cache;
-
-
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,12 +27,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -59,7 +48,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VersionedThinRegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -67,33 +56,34 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -110,20 +100,23 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapStringKey2.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -132,24 +125,29 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -157,14 +155,10 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -176,16 +170,16 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -193,17 +187,18 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -215,11 +210,11 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -228,7 +223,7 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -238,9 +233,9 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -255,15 +250,15 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -272,14 +267,17 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -287,7 +285,7 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -297,10 +295,10 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -311,17 +309,17 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -335,7 +333,7 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java
index eccb338..49abbfd 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java
@@ -20,9 +20,6 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
-
-
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
@@ -32,12 +29,6 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -59,7 +50,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VersionedThinRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -67,14 +58,14 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -83,20 +74,22 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapUUIDKey.class, "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -105,24 +98,29 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -130,14 +128,10 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
this.next = n;
}
-
-
-
-
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -149,16 +143,16 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -166,17 +160,18 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -188,11 +183,11 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -201,7 +196,7 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -211,9 +206,9 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -228,23 +223,25 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -254,7 +251,7 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[02/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java
index b2181d0..d8ddae0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java
@@ -15,53 +15,92 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, value);
+ public VersionedThinRegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapIntKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -70,37 +109,39 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -112,15 +153,16 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -128,17 +170,17 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -150,11 +192,11 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -163,6 +205,7 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -172,9 +215,9 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -189,21 +232,29 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -211,5 +262,8 @@ public class VersionedThinRegionEntryHeapIntKey extends VersionedThinRegionEntry
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java
index 901e64d..bae7e51 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java
@@ -15,53 +15,94 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapLongKey(RegionEntryContext context, long key, Object value) {
- super(context, value);
+ public VersionedThinRegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapLongKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -70,37 +111,39 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -112,15 +155,16 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -128,17 +172,17 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -150,11 +194,11 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -163,6 +207,7 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -172,9 +217,9 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -189,21 +234,22 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -211,5 +257,8 @@ public class VersionedThinRegionEntryHeapLongKey extends VersionedThinRegionEntr
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java
index 27fb4bd..46f0c29 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java
@@ -15,55 +15,90 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
- Object value) {
- super(context, value);
+ public VersionedThinRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapObjectKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -72,37 +107,39 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -114,15 +151,16 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -130,17 +168,17 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -152,11 +190,11 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -165,6 +203,7 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -174,9 +213,9 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -191,19 +230,24 @@ public class VersionedThinRegionEntryHeapObjectKey extends VersionedThinRegionEn
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java
index 05d32cb..4f48d7d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java
@@ -15,72 +15,103 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapStringKey1(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedThinRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapStringKey1.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -89,37 +120,39 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -131,15 +164,16 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -147,17 +181,17 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -169,11 +203,11 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -182,6 +216,7 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -191,9 +226,9 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -208,38 +243,38 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -248,15 +283,16 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -264,7 +300,7 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -277,5 +313,8 @@ public class VersionedThinRegionEntryHeapStringKey1 extends VersionedThinRegionE
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java
index 68e9a61..f69d4d7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java
@@ -15,19 +15,36 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
@@ -35,34 +52,48 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapStringKey2(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedThinRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -75,24 +106,24 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapStringKey2.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -101,37 +132,39 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -143,15 +176,16 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -159,17 +193,17 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -181,11 +215,11 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -194,6 +228,7 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -203,9 +238,9 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -220,39 +255,39 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -262,10 +297,10 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -276,16 +311,17 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -299,7 +335,7 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -318,5 +354,7 @@ public class VersionedThinRegionEntryHeapStringKey2 extends VersionedThinRegionE
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java
index fcc2a68..eccb338 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java
@@ -15,55 +15,88 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntryHeap {
- public VersionedThinRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key, Object value) {
- super(context, value);
+ public VersionedThinRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapUUIDKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -72,37 +105,39 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -114,15 +149,16 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -130,17 +166,17 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -152,11 +188,11 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -165,6 +201,7 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -174,9 +211,9 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -191,22 +228,23 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -216,5 +254,8 @@ public class VersionedThinRegionEntryHeapUUIDKey extends VersionedThinRegionEntr
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java
index 22baf55..d1ef8d0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java
@@ -15,75 +15,107 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, value);
+ public VersionedThinRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapIntKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -91,13 +123,18 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -111,55 +148,59 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -171,15 +212,16 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -187,17 +229,17 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -209,11 +251,11 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -222,6 +264,7 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -231,9 +274,9 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -248,21 +291,29 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -270,5 +321,8 @@ public class VersionedThinRegionEntryOffHeapIntKey extends VersionedThinRegionEn
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java
index 931faef..3fa6651 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java
@@ -15,75 +15,109 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionEntryOffHeap {
- public VersionedThinRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, value);
+ public VersionedThinRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapLongKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -91,13 +125,18 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -111,55 +150,59 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -171,15 +214,16 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -187,17 +231,17 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -209,11 +253,11 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -222,6 +266,7 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -231,9 +276,9 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -248,21 +293,22 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -270,5 +316,8 @@ public class VersionedThinRegionEntryOffHeapLongKey extends VersionedThinRegionE
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[10/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java
index 66e8b8b..89e86b9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java
@@ -15,95 +15,132 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedStatsRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -111,13 +148,18 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -131,58 +173,60 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -190,73 +234,67 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -268,15 +306,16 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -284,17 +323,17 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -306,11 +345,11 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -319,6 +358,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -328,9 +368,9 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -345,38 +385,38 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -385,15 +425,16 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -401,7 +442,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -414,5 +455,8 @@ public class VersionedStatsRegionEntryOffHeapStringKey1 extends VersionedStatsRe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java
index af2e1a0..2f8efb5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java
@@ -15,60 +15,99 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VersionedStatsRegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -81,41 +120,39 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -123,13 +160,18 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -143,58 +185,60 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -202,73 +246,67 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -280,15 +318,16 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -296,17 +335,17 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -318,11 +357,11 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -331,6 +370,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -340,9 +380,9 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -357,39 +397,39 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -399,10 +439,10 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -413,16 +453,17 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -436,7 +477,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -455,5 +496,7 @@ public class VersionedStatsRegionEntryOffHeapStringKey2 extends VersionedStatsRe
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java
index 6985727..4197db0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java
@@ -15,79 +15,117 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegionEntryOffHeap {
- public VersionedStatsRegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, value);
+ public VersionedStatsRegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -95,13 +133,18 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -115,58 +158,60 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -174,73 +219,67 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryOffHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -252,15 +291,16 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -268,17 +308,17 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -290,11 +330,11 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -303,6 +343,7 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -312,9 +353,9 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -329,22 +370,23 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -354,5 +396,8 @@ public class VersionedStatsRegionEntryOffHeapUUIDKey extends VersionedStatsRegio
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java
index 405dac5..3dc2856 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java
@@ -15,61 +15,106 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapIntKey(RegionEntryContext context, int key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedThinDiskLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapIntKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -78,42 +123,40 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -124,22 +167,23 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -149,155 +193,146 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -309,15 +344,16 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -325,17 +361,17 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -347,11 +383,11 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -360,6 +396,7 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -369,9 +406,9 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -386,21 +423,29 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -408,5 +453,8 @@ public class VersionedThinDiskLRURegionEntryHeapIntKey extends VersionedThinDisk
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java
index 8391383..e6cfc3d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java
@@ -15,62 +15,108 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
+// disk: 1
+// lru: 1
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskLRURegionEntryHeapLongKey
- extends VersionedThinDiskLRURegionEntryHeap {
- public VersionedThinDiskLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskLRURegionEntryHeapLongKey extends VersionedThinDiskLRURegionEntryHeap {
+ public VersionedThinDiskLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapLongKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskLRURegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskLRURegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -79,42 +125,40 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -125,22 +169,23 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -150,155 +195,146 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -310,15 +346,16 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -326,17 +363,17 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -348,11 +385,11 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -361,6 +398,7 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -370,9 +408,9 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -387,21 +425,22 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -409,5 +448,8 @@ public class VersionedThinDiskLRURegionEntryHeapLongKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[57/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java
index de5b424..ed06494 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java
@@ -18,40 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VersionedStatsLRURegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -81,42 +65,40 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
-
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -125,24 +107,29 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -150,51 +137,57 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -204,33 +197,38 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -239,7 +237,7 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -250,51 +248,61 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapLongKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -302,15 +310,16 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -322,16 +331,16 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -339,17 +348,18 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -361,11 +371,11 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -374,7 +384,7 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -384,9 +394,9 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -401,22 +411,24 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -424,7 +436,7 @@ public class VersionedStatsLRURegionEntryHeapLongKey extends VersionedStatsLRURe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java
index 3519288..1618a91 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java
@@ -18,40 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VersionedStatsLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -81,38 +65,40 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -121,24 +107,29 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -146,51 +137,57 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -200,27 +197,33 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
@@ -229,13 +232,12 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
-
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -246,51 +248,61 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -298,15 +310,16 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -318,16 +331,16 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -335,17 +348,18 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -357,11 +371,11 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -370,7 +384,7 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -380,9 +394,9 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -397,18 +411,19 @@ public class VersionedStatsLRURegionEntryHeapObjectKey extends VersionedStatsLRU
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java
index ad9772e..c2f138f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java
@@ -18,40 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VersionedStatsLRURegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -81,27 +65,28 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -112,20 +97,23 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -134,24 +122,29 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -159,51 +152,57 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -213,33 +212,38 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -248,7 +252,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -259,51 +263,61 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -311,15 +325,16 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -331,16 +346,16 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -348,17 +363,18 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -370,11 +386,11 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -383,7 +399,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -393,9 +409,9 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -410,38 +426,41 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -450,16 +469,16 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -467,7 +486,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -480,7 +499,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey1 extends VersionedStatsLR
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java
index e96dce5..bd9184f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java
@@ -18,40 +18,24 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +57,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+ public VersionedStatsLRURegionEntryHeapStringKey2(RegionEntryContext context, String key,
@@ -81,33 +65,34 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte)key.charAt(i) & 0xff;
+ tmpBits2 |= (byte) key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -124,20 +109,23 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -146,24 +134,29 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -171,51 +164,57 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -225,33 +224,38 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -260,7 +264,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -271,51 +275,61 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapStringKey2> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapStringKey2.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -323,15 +337,16 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -343,16 +358,16 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -360,17 +375,18 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -382,11 +398,11 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -395,7 +411,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -405,9 +421,9 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -422,15 +438,15 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
// strlen is encoded in lowest 6 bits (max strlen is 63)
@@ -439,14 +455,17 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
private final long bits1;
// bits2 encodes character data
private final long bits2;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
@@ -454,7 +473,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -464,10 +483,10 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -478,17 +497,17 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -502,7 +521,7 @@ public class VersionedStatsLRURegionEntryHeapStringKey2 extends VersionedStatsLR
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java
index a34a80f..c88838b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java
@@ -20,38 +20,24 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
-
-
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +59,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURegionEntryHeap {
- public VersionedStatsLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+ public VersionedStatsLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
@@ -81,14 +67,14 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
- ) {
- super(context,
+ ) {
+ super(context,
- value
+ value
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
this.keyMostSigBits = key.getMostSignificantBits();
@@ -97,20 +83,23 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -119,24 +108,29 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -144,51 +138,57 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
this.next = n;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
-
-
- // nothing needed for LRUs with no disk
+ // nothing needed for LRUs with no disk
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -198,33 +198,38 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -233,7 +238,7 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -244,51 +249,61 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryHeapUUIDKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -296,15 +311,16 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -316,16 +332,16 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -333,17 +349,18 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -355,11 +372,11 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -368,7 +385,7 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -378,9 +395,9 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -395,23 +412,25 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -421,7 +440,7 @@ public class VersionedStatsLRURegionEntryHeapUUIDKey extends VersionedStatsLRURe
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[12/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java
index 8ddbdc9..22e58ba 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java
@@ -15,64 +15,99 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsLRURegionEntryOffHeapStringKey2
- extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+public class VersionedStatsLRURegionEntryOffHeapStringKey2 extends VersionedStatsLRURegionEntryOffHeap {
+ public VersionedStatsLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -85,41 +120,39 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -127,13 +160,18 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -147,154 +185,144 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -302,73 +330,67 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -380,15 +402,16 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -396,17 +419,17 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -418,11 +441,11 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -431,6 +454,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -440,9 +464,9 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -457,39 +481,39 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -499,10 +523,10 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -513,16 +537,17 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -536,7 +561,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -555,5 +580,7 @@ public class VersionedStatsLRURegionEntryOffHeapStringKey2
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java
index d81fded..46b533a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java
@@ -15,84 +15,117 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// lru: 1
+// stats: 1
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsLRURegionEntryOffHeapUUIDKey
- extends VersionedStatsLRURegionEntryOffHeap {
- public VersionedStatsLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, value);
+public class VersionedStatsLRURegionEntryOffHeapUUIDKey extends VersionedStatsLRURegionEntryOffHeap {
+ public VersionedStatsLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -100,13 +133,18 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -120,154 +158,144 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -275,73 +303,67 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsLRURegionEntryOffHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsLRURegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -353,15 +375,16 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -369,17 +392,17 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -391,11 +414,11 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -404,6 +427,7 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -413,9 +437,9 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -430,22 +454,23 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -455,5 +480,8 @@ public class VersionedStatsLRURegionEntryOffHeapUUIDKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java
index f04210e..1cbf8ed 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java
@@ -15,55 +15,106 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, value);
+ public VersionedStatsRegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -72,40 +123,40 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -113,71 +164,67 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -189,15 +236,16 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -205,17 +253,17 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -227,11 +275,11 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -240,6 +288,7 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -249,9 +298,9 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -266,21 +315,29 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -288,5 +345,8 @@ public class VersionedStatsRegionEntryHeapIntKey extends VersionedStatsRegionEnt
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java
index 59657b0..ffb56a6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java
@@ -15,55 +15,108 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapLongKey(RegionEntryContext context, long key, Object value) {
- super(context, value);
+ public VersionedStatsRegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -72,40 +125,40 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -113,71 +166,67 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -189,15 +238,16 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -205,17 +255,17 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -227,11 +277,11 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -240,6 +290,7 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -249,9 +300,9 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -266,21 +317,22 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -288,5 +340,8 @@ public class VersionedStatsRegionEntryHeapLongKey extends VersionedStatsRegionEn
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java
index a603b94..4e72a21 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java
@@ -15,57 +15,104 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
+
+
+
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
-// versioned: VERSIONED
+// stats: 1
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegionEntryHeap {
- public VersionedStatsRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
- Object value) {
- super(context, value);
+ public VersionedStatsRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -74,40 +121,40 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -115,73 +162,67 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsRegionEntryHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsRegionEntryHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -193,15 +234,16 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -209,17 +251,17 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -231,11 +273,11 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -244,6 +286,7 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -253,9 +296,9 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -270,19 +313,24 @@ public class VersionedStatsRegionEntryHeapObjectKey extends VersionedStatsRegion
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[44/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java b/geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java
index d1d0488..a5f6a8d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java
@@ -1079,22 +1079,22 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
}
@SuppressWarnings("unchecked")
- static final <K, V> IdentitySegment<K, V>[] newArray(final int i) {
+ static <K, V> IdentitySegment<K, V>[] newArray(final int i) {
return new IdentitySegment[i];
}
@Override
- protected final boolean equalityKeyCompare(final Object key, final HashEntry<K, V> mapEntry) {
+ protected boolean equalityKeyCompare(final Object key, final HashEntry<K, V> mapEntry) {
return key == mapEntry.getKey();
}
@Override
- protected final boolean equalityCompare(final Object key, final Object mapKey) {
+ protected boolean equalityCompare(final Object key, final Object mapKey) {
return key == mapKey;
}
@Override
- protected final boolean equalityCompareWithNulls(final Object key, final Object mapKey) {
+ protected boolean equalityCompareWithNulls(final Object key, final Object mapKey) {
return key == mapKey;
}
}
@@ -1216,12 +1216,12 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
private static final long serialVersionUID = 3765680607280951726L;
- public final HashEntry<K, V> newEntry(final K key, final int hash, final HashEntry<K, V> next,
+ public HashEntry<K, V> newEntry(final K key, final int hash, final HashEntry<K, V> next,
final V value) {
return new HashEntryImpl<K, V>(key, hash, next, value, null);
}
- public final int keyHashCode(final Object key, final boolean compareValues) {
+ public int keyHashCode(final Object key, final boolean compareValues) {
return keyHash(key, compareValues);
}
}
@@ -1284,7 +1284,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* @return <tt>true</tt> if this map contains no key-value mappings
*/
@Override
- public final boolean isEmpty() {
+ public boolean isEmpty() {
final Segment<K, V>[] segments = this.segments;
/*
* We keep track of per-segment modCounts to avoid ABA problems in which an element in one
@@ -1323,7 +1323,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
@Override
@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "UL_UNRELEASED_LOCK",
justification = "The lock() calls are followed by unlock() calls without finally-block. Leaving this as is because it's lifted from JDK code and we want to minimize changes.")
- public final int size() {
+ public int size() {
final Segment<K, V>[] segments = this.segments;
long sum = 0;
long check = 0;
@@ -1382,7 +1382,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* @throws NullPointerException if the specified key is null
*/
@Override
- public final V get(final Object key) {
+ public V get(final Object key) {
// throws NullPointerException if key null
final int hash = this.entryCreator.keyHashCode(key, this.compareValues);
return segmentFor(hash).get(key, hash);
@@ -1397,7 +1397,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* @throws NullPointerException if the specified key is null
*/
@Override
- public final boolean containsKey(final Object key) {
+ public boolean containsKey(final Object key) {
// throws NullPointerException if key null
final int hash = this.entryCreator.keyHashCode(key, this.compareValues);
return segmentFor(hash).containsKey(key, hash);
@@ -1415,7 +1415,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
@Override
@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "UL_UNRELEASED_LOCK",
justification = "Leaving this as is because it's lifted from JDK code and we want to minimize changes.")
- public final boolean containsValue(final Object value) {
+ public boolean containsValue(final Object value) {
if (value == null) {
throw new NullPointerException();
}
@@ -1478,7 +1478,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* as determined by the <tt>equals</tt> method; <tt>false</tt> otherwise
* @throws NullPointerException if the specified value is null
*/
- public final boolean contains(final Object value) {
+ public boolean contains(final Object value) {
return containsValue(value);
}
@@ -1497,7 +1497,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* @throws NullPointerException if the specified key or value is null
*/
@Override
- public final V put(final K key, final V value) {
+ public V put(final K key, final V value) {
if (value == null) {
throw new NullPointerException();
}
@@ -1513,7 +1513,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* mapping for the key
* @throws NullPointerException if the specified key or value is null
*/
- public final V putIfAbsent(final K key, final V value) {
+ public V putIfAbsent(final K key, final V value) {
if (value == null) {
throw new NullPointerException();
}
@@ -1536,7 +1536,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
*
* @throws NullPointerException if the specified key is null
*/
- public final boolean create(final K key, final V value) {
+ public boolean create(final K key, final V value) {
// throws NullPointerException if key null
final int hash = this.entryCreator.keyHashCode(key, this.compareValues);
final Segment<K, V> seg = segmentFor(hash);
@@ -1643,8 +1643,8 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
*
* @throws NullPointerException if the specified key or value is null
*/
- public final <C, P> V create(final K key, final MapCallback<K, V, C, P> valueCreator,
- final C context, final P createParams, final boolean lockForRead) {
+ public <C, P> V create(final K key, final MapCallback<K, V, C, P> valueCreator, final C context,
+ final P createParams, final boolean lockForRead) {
// throws NullPointerException if key null
final int hash = this.entryCreator.keyHashCode(key, this.compareValues);
return segmentFor(hash).create(key, hash, valueCreator, context, createParams, lockForRead);
@@ -1665,7 +1665,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
*
* @throws NullPointerException if the specified key is null
*/
- public final V get(final Object key, final MapCallback<K, V, ?, ?> readCallback) {
+ public V get(final Object key, final MapCallback<K, V, ?, ?> readCallback) {
// throws NullPointerException if key null
final int hash = this.entryCreator.keyHashCode(key, this.compareValues);
return segmentFor(hash).get(key, hash, readCallback);
@@ -1704,8 +1704,8 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* @throws NullPointerException if the specified key or value is null, and this map does not
* permit null keys or values (optional)
*/
- public final <C, P> V removeConditionally(final Object key,
- final MapCallback<K, V, C, P> condition, final C context, final P removeParams) {
+ public <C, P> V removeConditionally(final Object key, final MapCallback<K, V, C, P> condition,
+ final C context, final P removeParams) {
// throws NullPointerException if key null
final int hash = this.entryCreator.keyHashCode(key, this.compareValues);
return segmentFor(hash).remove(key, hash, NO_OBJECT_TOKEN, condition, context, removeParams);
@@ -1720,7 +1720,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* @param m mappings to be stored in this map
*/
@Override
- public final void putAll(final Map<? extends K, ? extends V> m) {
+ public void putAll(final Map<? extends K, ? extends V> m) {
for (final Map.Entry<? extends K, ? extends V> e : m.entrySet()) {
put(e.getKey(), e.getValue());
}
@@ -1736,7 +1736,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* @throws NullPointerException if the specified key is null
*/
@Override
- public final V remove(final Object key) {
+ public V remove(final Object key) {
// throws NullPointerException if key null
final int hash = this.entryCreator.keyHashCode(key, this.compareValues);
return segmentFor(hash).remove(key, hash, NO_OBJECT_TOKEN, null, null, null);
@@ -1747,7 +1747,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
*
* @throws NullPointerException if the specified key is null
*/
- public final boolean remove(final Object key, final Object value) {
+ public boolean remove(final Object key, final Object value) {
if (value == null) {
return false;
}
@@ -1761,7 +1761,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
*
* @throws NullPointerException if any of the arguments are null
*/
- public final boolean replace(final K key, final V oldValue, final V newValue) {
+ public boolean replace(final K key, final V oldValue, final V newValue) {
if (oldValue == null || newValue == null) {
throw new NullPointerException();
}
@@ -1777,7 +1777,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* mapping for the key
* @throws NullPointerException if the specified key or value is null
*/
- public final V replace(final K key, final V value) {
+ public V replace(final K key, final V value) {
if (value == null) {
throw new NullPointerException();
}
@@ -1790,7 +1790,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* Removes all of the mappings from this map.
*/
@Override
- public final void clear() {
+ public void clear() {
ArrayList<HashEntry<?, ?>> entries = null;
try {
for (int i = 0; i < this.segments.length; ++i) {
@@ -1848,7 +1848,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* modifications subsequent to construction.
*/
@Override
- public final Set<K> keySet() {
+ public Set<K> keySet() {
final Set<K> ks = this.keySet;
return (ks != null) ? ks : (this.keySet = new KeySet());
}
@@ -1868,7 +1868,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* modifications subsequent to construction.
*/
@Override
- public final Collection<V> values() {
+ public Collection<V> values() {
final Collection<V> vs = this.values;
return (vs != null) ? vs : (this.values = new Values());
}
@@ -1887,7 +1887,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* modifications subsequent to construction.
*/
@Override
- public final Set<Map.Entry<K, V>> entrySet() {
+ public Set<Map.Entry<K, V>> entrySet() {
final Set<Map.Entry<K, V>> es = this.entrySet;
return (es != null) ? es : (this.entrySet = new EntrySet(false));
}
@@ -1911,7 +1911,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* This set provides entries that are reused during iteration so caller cannot store the returned
* <code>Map.Entry</code> objects.
*/
- public final Set<Map.Entry<K, V>> entrySetWithReusableEntries() {
+ public Set<Map.Entry<K, V>> entrySetWithReusableEntries() {
final Set<Map.Entry<K, V>> es = this.reusableEntrySet;
return (es != null) ? es : (this.reusableEntrySet = new EntrySet(true));
}
@@ -1924,7 +1924,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* @return an enumeration of the keys in this table
* @see #keySet()
*/
- public final Enumeration<K> keys() {
+ public Enumeration<K> keys() {
return new KeyIterator();
}
@@ -1934,7 +1934,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
* @return an enumeration of the values in this table
* @see #values()
*/
- public final Enumeration<V> elements() {
+ public Enumeration<V> elements() {
return new ValueIterator();
}
@@ -1965,11 +1965,11 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
advance();
}
- public final boolean hasMoreElements() {
+ public boolean hasMoreElements() {
return hasNext();
}
- final void advance() {
+ void advance() {
// GemStone changes BEGIN
if (this.currentListIndex < this.currentList.size()) {
this.nextEntry = this.currentList.get(this.currentListIndex++);
@@ -2031,7 +2031,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
*
* Read lock on {@link #currentSegmentIndex}'s listUpdateLock should already be acquired.
*/
- private final void copyEntriesToList() {
+ private void copyEntriesToList() {
assert segments[currentSegmentIndex] != null : "unexpected null currentSegment";
assert segments[currentSegmentIndex].listUpdateLock.getReadLockCount() > 0;
@@ -2042,11 +2042,11 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
}
}
- public final boolean hasNext() {
+ public boolean hasNext() {
return this.nextEntry != null;
}
- final HashEntry<K, V> nextEntry() {
+ HashEntry<K, V> nextEntry() {
if (this.nextEntry == null) {
throw new NoSuchElementException();
}
@@ -2055,7 +2055,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
return this.lastReturned;
}
- public final void remove() {
+ public void remove() {
if (this.lastReturned == null) {
throw new IllegalStateException();
}
@@ -2126,7 +2126,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
*
* @return the key corresponding to this entry
*/
- public final K getKey() {
+ public K getKey() {
return this.key;
}
@@ -2135,7 +2135,7 @@ public class CustomEntryConcurrentHashMap<K, V> extends AbstractMap<K, V>
*
* @return the value corresponding to this entry
*/
- public final V getValue() {
+ public V getValue() {
return this.value;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java
index a019f95..4fdf291 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java
@@ -594,8 +594,7 @@ public abstract class OpenTypeConverter {
return possibleCause;
}
- Object fromCompositeData(CompositeData cd, String[] itemNames,
- OpenTypeConverter[] converters) {
+ Object fromCompositeData(CompositeData cd, String[] itemNames, OpenTypeConverter[] converters) {
throw new Error();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/CacheElement.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/CacheElement.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/CacheElement.java
index c1d4b55..7450757 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/CacheElement.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/CacheElement.java
@@ -170,8 +170,8 @@ public class CacheElement {
* @throws XPathExpressionException
* @since GemFire 8.1
*/
- private static void buildElementMapCacheType(
- final LinkedHashMap<String, CacheElement> elementMap, final InputSource inputSource)
+ private static void buildElementMapCacheType(final LinkedHashMap<String, CacheElement> elementMap,
+ final InputSource inputSource)
throws SAXException, IOException, ParserConfigurationException, XPathExpressionException {
final Document doc = XmlUtils.getDocumentBuilder().parse(inputSource);
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/XmlUtils.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/XmlUtils.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/XmlUtils.java
index c10dc4b..218762c 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/XmlUtils.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/XmlUtils.java
@@ -281,8 +281,7 @@ public class XmlUtils {
* @return {@link Map} of schema namespace URIs to location URLs.
* @since GemFire 8.1
*/
- public static Map<String, List<String>> buildSchemaLocationMap(
- final String schemaLocation) {
+ public static Map<String, List<String>> buildSchemaLocationMap(final String schemaLocation) {
return buildSchemaLocationMap(new HashMap<String, List<String>>(), schemaLocation);
}
@@ -585,8 +584,7 @@ public class XmlUtils {
* @param schemaLocationMap {@link Map} to get schema locations from.
* @since GemFire 8.1
*/
- private static String getSchemaLocationValue(
- final Map<String, List<String>> schemaLocationMap) {
+ private static String getSchemaLocationValue(final Map<String, List<String>> schemaLocationMap) {
final StringBuilder sb = new StringBuilder();
for (final Map.Entry<String, List<String>> entry : schemaLocationMap.entrySet()) {
for (final String schemaLocation : entry.getValue()) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/redis/internal/Coder.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/Coder.java b/geode-core/src/main/java/org/apache/geode/redis/internal/Coder.java
index 928f345..f032316 100644
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/Coder.java
+++ b/geode-core/src/main/java/org/apache/geode/redis/internal/Coder.java
@@ -107,7 +107,7 @@ public class Coder {
*/
public static final String N_INF = "-inf";
- public static final ByteBuf getBulkStringResponse(ByteBufAllocator alloc, byte[] value) {
+ public static ByteBuf getBulkStringResponse(ByteBufAllocator alloc, byte[] value) {
ByteBuf response = alloc.buffer(value.length + 20);
response.writeByte(BULK_STRING_ID);
response.writeBytes(intToBytes(value.length));
@@ -117,7 +117,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getBulkStringResponse(ByteBufAllocator alloc, double value) {
+ public static ByteBuf getBulkStringResponse(ByteBufAllocator alloc, double value) {
ByteBuf response = alloc.buffer();
byte[] doub = doubleToBytes(value);
response.writeByte(BULK_STRING_ID);
@@ -128,7 +128,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getBulkStringResponse(ByteBufAllocator alloc, String value) {
+ public static ByteBuf getBulkStringResponse(ByteBufAllocator alloc, String value) {
byte[] valueAr = stringToBytes(value);
int length = valueAr == null ? 0 : valueAr.length;
ByteBuf response = alloc.buffer(length + 20);
@@ -140,8 +140,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getBulkStringArrayResponse(ByteBufAllocator alloc,
- List<String> items) {
+ public static ByteBuf getBulkStringArrayResponse(ByteBufAllocator alloc, List<String> items) {
Iterator<String> it = items.iterator();
ByteBuf response = alloc.buffer();
response.writeByte(ARRAY_ID);
@@ -158,7 +157,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getBulkStringArrayResponse(ByteBufAllocator alloc,
+ public static ByteBuf getBulkStringArrayResponse(ByteBufAllocator alloc,
Collection<ByteArrayWrapper> items) {
Iterator<ByteArrayWrapper> it = items.iterator();
ByteBuf response = alloc.buffer();
@@ -180,7 +179,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getKeyValArrayResponse(ByteBufAllocator alloc,
+ public static ByteBuf getKeyValArrayResponse(ByteBufAllocator alloc,
Collection<Entry<ByteArrayWrapper, ByteArrayWrapper>> items) {
Iterator<Map.Entry<ByteArrayWrapper, ByteArrayWrapper>> it = items.iterator();
ByteBuf response = alloc.buffer();
@@ -220,7 +219,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getScanResponse(ByteBufAllocator alloc, List<?> items) {
+ public static ByteBuf getScanResponse(ByteBufAllocator alloc, List<?> items) {
ByteBuf response = alloc.buffer();
response.writeByte(ARRAY_ID);
response.writeBytes(intToBytes(2));
@@ -258,12 +257,12 @@ public class Coder {
return response;
}
- public static final ByteBuf getEmptyArrayResponse(ByteBufAllocator alloc) {
+ public static ByteBuf getEmptyArrayResponse(ByteBufAllocator alloc) {
ByteBuf buf = alloc.buffer().writeBytes(bEMPTY_ARRAY);
return buf;
}
- public static final ByteBuf getSimpleStringResponse(ByteBufAllocator alloc, String string) {
+ public static ByteBuf getSimpleStringResponse(ByteBufAllocator alloc, String string) {
byte[] simpAr = stringToBytes(string);
ByteBuf response = alloc.buffer(simpAr.length + 20);
@@ -273,7 +272,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getErrorResponse(ByteBufAllocator alloc, String error) {
+ public static ByteBuf getErrorResponse(ByteBufAllocator alloc, String error) {
byte[] errorAr = stringToBytes(error);
ByteBuf response = alloc.buffer(errorAr.length + 25);
response.writeByte(ERROR_ID);
@@ -283,7 +282,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getNoAuthResponse(ByteBufAllocator alloc, String error) {
+ public static ByteBuf getNoAuthResponse(ByteBufAllocator alloc, String error) {
byte[] errorAr = stringToBytes(error);
ByteBuf response = alloc.buffer(errorAr.length + 25);
response.writeByte(ERROR_ID);
@@ -293,7 +292,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getWrongTypeResponse(ByteBufAllocator alloc, String error) {
+ public static ByteBuf getWrongTypeResponse(ByteBufAllocator alloc, String error) {
byte[] errorAr = stringToBytes(error);
ByteBuf response = alloc.buffer(errorAr.length + 31);
response.writeByte(ERROR_ID);
@@ -303,7 +302,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getIntegerResponse(ByteBufAllocator alloc, int integer) {
+ public static ByteBuf getIntegerResponse(ByteBufAllocator alloc, int integer) {
ByteBuf response = alloc.buffer(15);
response.writeByte(INTEGER_ID);
response.writeBytes(intToBytes(integer));
@@ -311,7 +310,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getIntegerResponse(ByteBufAllocator alloc, long l) {
+ public static ByteBuf getIntegerResponse(ByteBufAllocator alloc, long l) {
ByteBuf response = alloc.buffer(25);
response.writeByte(INTEGER_ID);
response.writeBytes(longToBytes(l));
@@ -319,7 +318,7 @@ public class Coder {
return response;
}
- public static final ByteBuf getNilResponse(ByteBufAllocator alloc) {
+ public static ByteBuf getNilResponse(ByteBufAllocator alloc) {
ByteBuf buf = alloc.buffer().writeBytes(bNIL);
return buf;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqConflatable.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqConflatable.java b/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqConflatable.java
index be6520b..02e865b 100644
--- a/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqConflatable.java
+++ b/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqConflatable.java
@@ -152,7 +152,7 @@ public class CqConflatable implements Conflatable, Serializable {
/**
* @return Returns the key.
*/
- final Object getKey() {
+ Object getKey() {
return key;
}
[33/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java
index e2d498d..d6d664b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java
@@ -15,55 +15,95 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -72,53 +112,52 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -128,60 +167,63 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -189,80 +231,76 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -272,5 +310,8 @@ public class VMStatsDiskRegionEntryHeapUUIDKey extends VMStatsDiskRegionEntryHea
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java
index e7c90b7..8ef1a20 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java
@@ -15,74 +15,110 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -90,13 +126,18 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -110,71 +151,72 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -184,60 +226,63 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -245,79 +290,82 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -325,5 +373,8 @@ public class VMStatsDiskRegionEntryOffHeapIntKey extends VMStatsDiskRegionEntryO
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java
index 62e6cc7..cc49d3f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java
@@ -15,74 +15,112 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -90,13 +128,18 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -110,71 +153,72 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -184,60 +228,63 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -245,79 +292,75 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -325,5 +368,8 @@ public class VMStatsDiskRegionEntryOffHeapLongKey extends VMStatsDiskRegionEntry
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java
index 5cde18e..867edf3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java
@@ -15,75 +15,108 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapObjectKey(RegionEntryContext context, Object key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryOffHeapObjectKey (RegionEntryContext context, Object key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -91,13 +124,18 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -111,71 +149,72 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -185,60 +224,63 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -246,79 +288,77 @@ public class VMStatsDiskRegionEntryOffHeapObjectKey extends VMStatsDiskRegionEnt
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java
index c42095c..abab88f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java
@@ -15,92 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEntryOffHeap {
- public VMStatsDiskRegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -108,13 +139,18 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -128,71 +164,72 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -202,60 +239,63 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -263,98 +303,91 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryOffHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryOffHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -363,15 +396,16 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -379,7 +413,7 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -392,5 +426,8 @@ public class VMStatsDiskRegionEntryOffHeapStringKey1 extends VMStatsDiskRegionEn
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[06/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java
index d4f5563..2e0f7ec 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java
@@ -15,75 +15,111 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapStringKey1(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedThinDiskRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapStringKey1.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -92,53 +128,52 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -148,57 +183,62 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -210,15 +250,16 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -226,17 +267,17 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -248,11 +289,11 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -261,6 +302,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -270,9 +312,9 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -287,38 +329,38 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -327,15 +369,16 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -343,7 +386,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -356,5 +399,8 @@ public class VersionedThinDiskRegionEntryHeapStringKey1 extends VersionedThinDis
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java
index 8f0dc99..af00416 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java
@@ -15,21 +15,42 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
@@ -37,35 +58,50 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapStringKey2(RegionEntryContext context, String key,
- Object value, boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedThinDiskRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -78,24 +114,24 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapStringKey2.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -104,53 +140,52 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -160,57 +195,62 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -222,15 +262,16 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -238,17 +279,17 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -260,11 +301,11 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -273,6 +314,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -282,9 +324,9 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -299,39 +341,39 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -341,10 +383,10 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -355,16 +397,17 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -378,7 +421,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -397,5 +440,7 @@ public class VersionedThinDiskRegionEntryHeapStringKey2 extends VersionedThinDis
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java
index 7ab81f8..ff8a624 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java
@@ -15,60 +15,103 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
+
+
+
+
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
+// versioned: 1
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRegionEntryHeap {
- public VersionedThinDiskRegionEntryHeapUUIDKey(RegionEntryContext context, UUID key,
- Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedThinDiskRegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapUUIDKey.class,
- "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -77,53 +120,52 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -133,57 +175,62 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -195,15 +242,16 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -211,17 +259,17 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -233,11 +281,11 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -246,6 +294,7 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -255,9 +304,9 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -272,22 +321,23 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -297,5 +347,8 @@ public class VersionedThinDiskRegionEntryHeapUUIDKey extends VersionedThinDiskRe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java
index 1d0bdc9..b7eaccc 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java
@@ -15,79 +15,113 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VersionedThinDiskRegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapIntKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapIntKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -95,13 +129,18 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -115,71 +154,72 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -189,57 +229,62 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -251,15 +296,16 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -267,17 +313,17 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -289,11 +335,11 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -302,6 +348,7 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -311,9 +358,9 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -328,21 +375,29 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -350,5 +405,8 @@ public class VersionedThinDiskRegionEntryOffHeapIntKey extends VersionedThinDisk
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java
index 324134a..b1c31ed 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java
@@ -15,80 +15,115 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.cache.EntryEvent;
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
// stats: STATS
-// versioned: VERSIONED
-// offheap: OFFHEAP
+// versioned: 1
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedThinDiskRegionEntryOffHeapLongKey
- extends VersionedThinDiskRegionEntryOffHeap {
- public VersionedThinDiskRegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+public class VersionedThinDiskRegionEntryOffHeapLongKey extends VersionedThinDiskRegionEntryOffHeap {
+ public VersionedThinDiskRegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapLongKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapLongKey.class,
- "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedThinDiskRegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedThinDiskRegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -96,13 +131,18 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -116,71 +156,72 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -190,57 +231,62 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -252,15 +298,16 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -268,17 +315,17 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey
public VersionSource getMemberID() {
return this.memberID;
}
-
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short) (eVersion & 0xffff);
- this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short)(eVersion & 0xffff);
+ this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -290,11 +337,11 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -303,6 +350,7 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -312,9 +360,9 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
- boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
- boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag,
+ boolean isTombstoneFromGII, boolean hasDelta,
+ VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -329,21 +377,22 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -351,5 +400,8 @@ public class VersionedThinDiskRegionEntryOffHeapLongKey
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[41/78] geode git commit: GEODE-2929: remove final from methods on
internal classes
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/EvictionAttributesImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EvictionAttributesImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EvictionAttributesImpl.java
index 7d90bef..f569ff7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/EvictionAttributesImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EvictionAttributesImpl.java
@@ -222,11 +222,11 @@ public class EvictionAttributesImpl extends EvictionAttributes
return this.algorithm.isLIFO();
}
- public final boolean isLIFOEntry() {
+ public boolean isLIFOEntry() {
return this.algorithm == EvictionAlgorithm.LIFO_ENTRY;
}
- public final boolean isLIFOMemory() {
+ public boolean isLIFOMemory() {
return this.algorithm == EvictionAlgorithm.LIFO_MEMORY;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/ExpiryTask.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ExpiryTask.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ExpiryTask.java
index 14edad9..1d65579 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ExpiryTask.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ExpiryTask.java
@@ -107,7 +107,7 @@ public abstract class ExpiryTask extends SystemTimer.SystemTimerTask {
}
/** Return the absolute time when TTL expiration occurs, or 0 if not used */
- public final long getTTLExpirationTime() throws EntryNotFoundException {
+ public long getTTLExpirationTime() throws EntryNotFoundException {
long ttl = getTTLAttributes().getTimeout();
long tilt = 0;
if (ttl > 0) {
@@ -120,7 +120,7 @@ public abstract class ExpiryTask extends SystemTimer.SystemTimerTask {
}
/** Return the absolute time when idle expiration occurs, or 0 if not used */
- public final long getIdleExpirationTime() throws EntryNotFoundException {
+ public long getIdleExpirationTime() throws EntryNotFoundException {
long idle = getIdleAttributes().getTimeout();
long tilt = 0;
if (idle > 0) {
@@ -136,7 +136,7 @@ public abstract class ExpiryTask extends SystemTimer.SystemTimerTask {
* Returns the number of milliseconds until this task should expire. The return value will never
* be negative.
*/
- final long getExpiryMillis() throws EntryNotFoundException {
+ long getExpiryMillis() throws EntryNotFoundException {
long extm = getExpirationTime() - getNow();
if (extm < 0L)
return 0L;
@@ -185,13 +185,13 @@ public abstract class ExpiryTask extends SystemTimer.SystemTimerTask {
*
* @since GemFire 5.0
*/
- public final static void suspendExpiration() {
+ public static void suspendExpiration() {
synchronized (suspendLock) {
expirationSuspended = true;
}
}
- public final static void permitExpiration() {
+ public static void permitExpiration() {
synchronized (suspendLock) {
expirationSuspended = false;
suspendLock.notifyAll();
@@ -204,7 +204,7 @@ public abstract class ExpiryTask extends SystemTimer.SystemTimerTask {
*
* @since GemFire 5.0
*/
- private final void waitOnExpirationSuspension() {
+ private void waitOnExpirationSuspension() {
for (;;) {
getLocalRegion().getCancelCriterion().checkCancelInProgress(null);
synchronized (suspendLock) {
@@ -227,7 +227,7 @@ public abstract class ExpiryTask extends SystemTimer.SystemTimerTask {
} // for
}
- protected final boolean expire(boolean isPending) throws CacheException {
+ protected boolean expire(boolean isPending) throws CacheException {
ExpirationAction action = getAction();
if (action == null)
return false;
@@ -268,12 +268,12 @@ public abstract class ExpiryTask extends SystemTimer.SystemTimerTask {
return action != null && (action.isInvalidate() || action.isDestroy());
}
- final LocalRegion getLocalRegion() {
+ LocalRegion getLocalRegion() {
return this.region;
}
- protected final boolean expire(ExpirationAction action, boolean isPending) throws CacheException {
+ protected boolean expire(ExpirationAction action, boolean isPending) throws CacheException {
if (action.isInvalidate())
return invalidate();
if (action.isDestroy())
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/FunctionStreamingOrderedReplyMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/FunctionStreamingOrderedReplyMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/FunctionStreamingOrderedReplyMessage.java
index bae061e..1cc7eeb 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/FunctionStreamingOrderedReplyMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/FunctionStreamingOrderedReplyMessage.java
@@ -53,7 +53,7 @@ public class FunctionStreamingOrderedReplyMessage extends FunctionStreamingReply
return FUNCTION_STREAMING_ORDERED_REPLY_MESSAGE;
}
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.SERIAL_EXECUTOR;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/GridAdvisor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/GridAdvisor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/GridAdvisor.java
index c21667d..8d28a53 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/GridAdvisor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/GridAdvisor.java
@@ -387,15 +387,15 @@ public abstract class GridAdvisor extends DistributionAdvisor {
this.gp = gp;
}
- public final InternalDistributedMember getMemberId() {
+ public InternalDistributedMember getMemberId() {
return this.gp.getDistributedMember();
}
- public final String getHost() {
+ public String getHost() {
return this.gp.getHost();
}
- public final int getPort() {
+ public int getPort() {
return this.gp.getPort();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/HARegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/HARegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/HARegion.java
index e1d3d6b..f9b1009 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/HARegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/HARegion.java
@@ -211,7 +211,7 @@ public class HARegion extends DistributedRegion {
}
@Override
- public final Object put(Object key, Object value, Object aCallbackArgument)
+ public Object put(Object key, Object value, Object aCallbackArgument)
throws TimeoutException, CacheWriterException {
checkReadiness();
@@ -323,7 +323,7 @@ public class HARegion extends DistributedRegion {
* Never genearte EventID for any Entry or Region operation on the HARegion
*/
@Override
- final public boolean generateEventID() {
+ public boolean generateEventID() {
return false;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/InlineKeyHelper.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/InlineKeyHelper.java b/geode-core/src/main/java/org/apache/geode/internal/cache/InlineKeyHelper.java
index f86c92c..ce44f1f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/InlineKeyHelper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/InlineKeyHelper.java
@@ -33,7 +33,7 @@ public class InlineKeyHelper {
* Given the number of longs used to encode the inline string return the maximum number of
* characters that can be encoded into that many longs.
*/
- public static final int getMaxInlineStringKey(int longCount, boolean byteEncoded) {
+ public static int getMaxInlineStringKey(int longCount, boolean byteEncoded) {
return (longCount * (byteEncoded ? 8 : 4)) - 1;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/KeyInfo.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/KeyInfo.java b/geode-core/src/main/java/org/apache/geode/internal/cache/KeyInfo.java
index 13edb33..aa7671e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/KeyInfo.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/KeyInfo.java
@@ -64,11 +64,11 @@ public class KeyInfo {
this.key = keyInfo.key;
}
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
- public final Object getCallbackArg() {
+ public Object getCallbackArg() {
return this.callbackArg;
}
@@ -77,19 +77,19 @@ public class KeyInfo {
return this.value;
}
- public final int getBucketId() {
+ public int getBucketId() {
return this.bucketId;
}
- public final void setKey(Object key) {
+ public void setKey(Object key) {
this.key = key;
}
- public final void setBucketId(int bucketId) {
+ public void setBucketId(int bucketId) {
this.bucketId = bucketId;
}
- public final void setCallbackArg(Object callbackArg) {
+ public void setCallbackArg(Object callbackArg) {
this.callbackArg = callbackArg;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
index 2985fdb..8e7ec68 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
@@ -2496,7 +2496,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
releaseLatch(this.initializationLatchBeforeGetInitialImage);
}
- final void releaseAfterGetInitialImageLatch() {
+ void releaseAfterGetInitialImageLatch() {
if (logger.isDebugEnabled()) {
logger.debug("Releasing Initialization Latch (after initial image) for {}", getFullPath());
}
@@ -5562,7 +5562,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
* @return false if ifNew is true and there is an existing key, or ifOld is true and there is no
* existing entry; otherwise return true.
*/
- final boolean basicUpdate(final EntryEventImpl event, final boolean ifNew, final boolean ifOld,
+ boolean basicUpdate(final EntryEventImpl event, final boolean ifNew, final boolean ifOld,
final long lastModified, final boolean overwriteDestroyed)
throws TimeoutException, CacheWriterException {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/OverflowOplogSet.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/OverflowOplogSet.java b/geode-core/src/main/java/org/apache/geode/internal/cache/OverflowOplogSet.java
index c6e918e..4074221 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/OverflowOplogSet.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/OverflowOplogSet.java
@@ -57,7 +57,7 @@ public class OverflowOplogSet implements OplogSet {
}
@Override
- public final void modify(LocalRegion lr, DiskEntry entry, ValueWrapper value, boolean async) {
+ public void modify(LocalRegion lr, DiskEntry entry, ValueWrapper value, boolean async) {
DiskRegion dr = lr.getDiskRegion();
synchronized (this.overflowMap) {
if (this.lastOverflowWrite != null) {
@@ -157,11 +157,11 @@ public class OverflowOplogSet implements OplogSet {
return new OverflowOplog(id, this, getDirectories()[idx], minSize);
}
- final void addOverflow(OverflowOplog oo) {
+ void addOverflow(OverflowOplog oo) {
this.overflowMap.put(oo.getOplogId(), oo);
}
- final void removeOverflow(OverflowOplog oo) {
+ void removeOverflow(OverflowOplog oo) {
if (!basicRemoveOverflow(oo)) {
synchronized (this.compactableOverflowMap) {
this.compactableOverflowMap.remove(oo.getOplogId());
@@ -169,7 +169,7 @@ public class OverflowOplogSet implements OplogSet {
}
}
- final boolean basicRemoveOverflow(OverflowOplog oo) {
+ boolean basicRemoveOverflow(OverflowOplog oo) {
if (this.lastOverflowWrite == oo) {
this.lastOverflowWrite = null;
}
@@ -189,7 +189,7 @@ public class OverflowOplogSet implements OplogSet {
}
}
- final private void removeOverflow(DiskRegion dr, DiskEntry entry) {
+ private void removeOverflow(DiskRegion dr, DiskEntry entry) {
// find the overflow oplog that it is currently in and remove the entry from it
DiskId id = entry.getDiskId();
synchronized (id) {
@@ -223,13 +223,13 @@ public class OverflowOplogSet implements OplogSet {
}
}
- public final OverflowOplog getChild(long oplogId) {
+ public OverflowOplog getChild(long oplogId) {
// the oplog id is cast to an integer because the overflow
// map uses integer oplog ids.
return getChild((int) oplogId);
}
- public final OverflowOplog getChild(int oplogId) {
+ public OverflowOplog getChild(int oplogId) {
OverflowOplog result = this.overflowMap.get(oplogId);
if (result == null) {
synchronized (this.compactableOverflowMap) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionRegionConfig.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionRegionConfig.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionRegionConfig.java
index b7f3e0b..7812a3d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionRegionConfig.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionRegionConfig.java
@@ -387,19 +387,19 @@ public class PartitionRegionConfig extends ExternalizableDSFID implements Versio
return ea;
}
- public final ExpirationAttributes getEntryIdleTimeout() {
+ public ExpirationAttributes getEntryIdleTimeout() {
return entryIdleTimeout;
}
- public final ExpirationAttributes getEntryTimeToLive() {
+ public ExpirationAttributes getEntryTimeToLive() {
return entryTimeToLive;
}
- public final ExpirationAttributes getRegionIdleTimeout() {
+ public ExpirationAttributes getRegionIdleTimeout() {
return regionIdleTimeout;
}
- public final ExpirationAttributes getRegionTimeToLive() {
+ public ExpirationAttributes getRegionTimeToLive() {
return regionTimeToLive;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
index bc51650..b171a95 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
@@ -2481,7 +2481,7 @@ public class PartitionedRegionDataStore implements HasCachePerfStats {
*
* @return a List of all entries gathered across all buckets in this data store
*/
- public final List getEntries() {
+ public List getEntries() {
final ArrayList al = new ArrayList();
visitEntries(new EntryVisitor() {
@Override
@@ -2503,7 +2503,7 @@ public class PartitionedRegionDataStore implements HasCachePerfStats {
*
* @param validateOnly only perform bucket-to-node validation
*/
- public final void dumpEntries(final boolean validateOnly) {
+ public void dumpEntries(final boolean validateOnly) {
if (logger.isDebugEnabled()) {
logger.debug("[dumpEntries] dumping {}", this);
}
@@ -2519,7 +2519,7 @@ public class PartitionedRegionDataStore implements HasCachePerfStats {
}
}
- public final void dumpBackingMaps() {
+ public void dumpBackingMaps() {
if (logger.isDebugEnabled()) {
logger.debug("Bucket maps in {}\n", this);
}
@@ -2550,7 +2550,7 @@ public class PartitionedRegionDataStore implements HasCachePerfStats {
* <i>Test Method</i> Dump all the bucket names in this data store to the logger
*
*/
- public final void dumpBuckets() {
+ public void dumpBuckets() {
final StringBuffer buf = new StringBuffer("Buckets in ").append(this).append("\n");
visitBuckets(new BucketVisitor() {
@Override
@@ -2566,7 +2566,7 @@ public class PartitionedRegionDataStore implements HasCachePerfStats {
* <i>Test Method</i> Return the list of all the bucket names in this data store.
*
*/
- public final List getLocalBucketsListTestOnly() {
+ public List getLocalBucketsListTestOnly() {
final List bucketList = new ArrayList();
visitBuckets(new BucketVisitor() {
@Override
@@ -2581,7 +2581,7 @@ public class PartitionedRegionDataStore implements HasCachePerfStats {
* <i>Test Method</i> Return the list of all the primary bucket ids in this data store.
*
*/
- public final List getLocalPrimaryBucketsListTestOnly() {
+ public List getLocalPrimaryBucketsListTestOnly() {
final List primaryBucketList = new ArrayList();
visitBuckets(new BucketVisitor() {
@Override
@@ -2600,7 +2600,7 @@ public class PartitionedRegionDataStore implements HasCachePerfStats {
* <i>Test Method</i> Return the list of all the non primary bucket ids in this data store.
*
*/
- public final List getLocalNonPrimaryBucketsListTestOnly() {
+ public List getLocalNonPrimaryBucketsListTestOnly() {
final List nonPrimaryBucketList = new ArrayList();
visitBuckets(new BucketVisitor() {
@Override
@@ -2621,7 +2621,7 @@ public class PartitionedRegionDataStore implements HasCachePerfStats {
* @param bucketId the id of the bucket to dump
* @param bucket the Region containing the bucket data
*/
- public final void dumpBucket(int bucketId, final LocalRegion bucket) {
+ public void dumpBucket(int bucketId, final LocalRegion bucket) {
Integer buckId = Integer.valueOf(bucketId);
visitBucket(buckId, bucket, new EntryVisitor() {
final StringBuffer buf = new StringBuffer("Entries in bucket ").append(bucket).append("\n");
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionStats.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionStats.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionStats.java
index 19cb3f2..d1dc1be 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionStats.java
@@ -738,7 +738,7 @@ public class PartitionedRegionStats {
// messaging stats
// ------------------------------------------------------------------------
- public final long startPartitionMessageProcessing() {
+ public long startPartitionMessageProcessing() {
this.stats.incInt(partitionMessagesReceivedId, 1);
return startTime();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/PersistentOplogSet.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PersistentOplogSet.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PersistentOplogSet.java
index 036c740..e475d08 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PersistentOplogSet.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PersistentOplogSet.java
@@ -92,7 +92,7 @@ public class PersistentOplogSet implements OplogSet {
/**
* returns the active child
*/
- public final Oplog getChild() {
+ public Oplog getChild() {
return this.child;
}
@@ -547,7 +547,7 @@ public class PersistentOplogSet implements OplogSet {
}
}
- private final void initOplogEntryId() {
+ private void initOplogEntryId() {
this.oplogEntryId.set(DiskStoreImpl.INVALID_ID);
}
@@ -555,7 +555,7 @@ public class PersistentOplogSet implements OplogSet {
* Sets the last created oplogEntryId to the given value if and only if the given value is greater
* than the current last created oplogEntryId
*/
- private final void updateOplogEntryId(long v) {
+ private void updateOplogEntryId(long v) {
long curVal;
do {
curVal = this.oplogEntryId.get();
@@ -569,7 +569,7 @@ public class PersistentOplogSet implements OplogSet {
/**
* Returns the last created oplogEntryId. Returns INVALID_ID if no oplogEntryId has been created.
*/
- final long getOplogEntryId() {
+ long getOplogEntryId() {
parent.initializeIfNeeded();
return this.oplogEntryId.get();
}
@@ -581,7 +581,7 @@ public class PersistentOplogSet implements OplogSet {
*
* @return A disk id that can be used to access this key/value pair on disk
*/
- final long newOplogEntryId() {
+ long newOplogEntryId() {
long result = this.oplogEntryId.incrementAndGet();
return result;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/PoolStats.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PoolStats.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PoolStats.java
index 37a0fe2..02860e6 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PoolStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PoolStats.java
@@ -198,39 +198,39 @@ public class PoolStats {
return DistributionStats.getStatTime();
}
- public final void setInitialContacts(int ic) {
+ public void setInitialContacts(int ic) {
this._stats.setInt(_INITIAL_CONTACTS, ic);
}
- public final void setServerCount(int sc) {
+ public void setServerCount(int sc) {
this._stats.setInt(_ENDPOINTS_KNOWN, sc);
}
- public final void setSubscriptionCount(int qc) {
+ public void setSubscriptionCount(int qc) {
this._stats.setInt(_SUBSCRIPTION_SERVERS, qc);
}
- public final void setLocatorCount(int lc) {
+ public void setLocatorCount(int lc) {
this._stats.setInt(_KNOWN_LOCATORS, lc);
}
- public final long getLocatorRequests() {
+ public long getLocatorRequests() {
return this._stats.getLong(_REQUESTS_TO_LOCATOR);
}
- public final void incLocatorRequests() {
+ public void incLocatorRequests() {
this._stats.incLong(_REQUESTS_TO_LOCATOR, 1);
}
- public final void incLocatorResponses() {
+ public void incLocatorResponses() {
this._stats.incLong(_RESPONSES_FROM_LOCATOR, 1);
}
- public final void setLocatorRequests(long rl) {
+ public void setLocatorRequests(long rl) {
this._stats.setLong(_REQUESTS_TO_LOCATOR, rl);
}
- public final void setLocatorResponses(long rl) {
+ public void setLocatorResponses(long rl) {
this._stats.setLong(_RESPONSES_FROM_LOCATOR, rl);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyBucketRegion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyBucketRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyBucketRegion.java
index 413a1f6..cfc9fdd 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyBucketRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyBucketRegion.java
@@ -356,11 +356,11 @@ public class ProxyBucketRegion implements Bucket {
return this.advisor.getBucketRedundancy() + 1;
}
- public final int getBucketId() {
+ public int getBucketId() {
return this.bid;
}
- public final int getId() {
+ public int getId() {
return getBucketId();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
index efa580b..fedafc8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
@@ -365,7 +365,7 @@ class ProxyRegionMap implements RegionMap {
}
@Override
- public final boolean lruLimitExceeded(DiskRegionView drv) {
+ public boolean lruLimitExceeded(DiskRegionView drv) {
return false;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/RegionExpiryTask.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionExpiryTask.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionExpiryTask.java
index 1d334bc..065d966 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionExpiryTask.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionExpiryTask.java
@@ -49,32 +49,32 @@ abstract class RegionExpiryTask extends ExpiryTask {
}
@Override
- protected final long getLastAccessedTime() {
+ protected long getLastAccessedTime() {
return getLocalRegion().getLastAccessedTime();
}
@Override
- protected final long getLastModifiedTime() {
+ protected long getLastModifiedTime() {
return getLocalRegion().getLastModifiedTime();
}
@Override
- protected final boolean destroy(boolean isPending) throws CacheException {
+ protected boolean destroy(boolean isPending) throws CacheException {
return getLocalRegion().expireRegion(this, true, true);
}
@Override
- protected final boolean invalidate() throws TimeoutException {
+ protected boolean invalidate() throws TimeoutException {
return getLocalRegion().expireRegion(this, true, false);
}
@Override
- protected final boolean localDestroy() throws CacheException {
+ protected boolean localDestroy() throws CacheException {
return getLocalRegion().expireRegion(this, false, true);
}
@Override
- protected final boolean localInvalidate() {
+ protected boolean localInvalidate() {
return getLocalRegion().expireRegion(this, false, false);
}
@@ -85,7 +85,7 @@ abstract class RegionExpiryTask extends ExpiryTask {
}
@Override
- protected final void performTimeout() throws CacheException {
+ protected void performTimeout() throws CacheException {
if (isCanceled) {
return;
}
@@ -93,7 +93,7 @@ abstract class RegionExpiryTask extends ExpiryTask {
}
@Override
- protected final void basicPerformTimeout(boolean isPending) throws CacheException {
+ protected void basicPerformTimeout(boolean isPending) throws CacheException {
if (isCanceled) {
return;
}
@@ -110,7 +110,7 @@ abstract class RegionExpiryTask extends ExpiryTask {
}
@Override
- final protected void reschedule() throws CacheException {
+ protected void reschedule() throws CacheException {
if (isCacheClosing() || getLocalRegion().isClosed() || getLocalRegion().isDestroyed()
|| !isExpirationAllowed()) {
return;
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/RegionIdleExpiryTask.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionIdleExpiryTask.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionIdleExpiryTask.java
index c54da7f..dfc59cf 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionIdleExpiryTask.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionIdleExpiryTask.java
@@ -58,7 +58,7 @@ class RegionIdleExpiryTask extends RegionExpiryTask {
}
@Override
- protected final void addExpiryTask() {
+ protected void addExpiryTask() {
getLocalRegion().addIdleExpiryTask(this);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/RegionTTLExpiryTask.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionTTLExpiryTask.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionTTLExpiryTask.java
index a59b391..96490e5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionTTLExpiryTask.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionTTLExpiryTask.java
@@ -60,7 +60,7 @@ class RegionTTLExpiryTask extends RegionExpiryTask {
}
@Override
- protected final void addExpiryTask() {
+ protected void addExpiryTask() {
getLocalRegion().addTTLExpiryTask(this);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteDestroyMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteDestroyMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteDestroyMessage.java
index 0a55664..081044e 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteDestroyMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteDestroyMessage.java
@@ -173,11 +173,11 @@ public class RemoteDestroyMessage extends RemoteOperationMessageWithDirectReply
this.oldValBytes = valBytes;
}
- private final void setOldValObj(@Unretained(ENTRY_EVENT_OLD_VALUE) Object o) {
+ private void setOldValObj(@Unretained(ENTRY_EVENT_OLD_VALUE) Object o) {
this.oldValObj = o;
}
- public final byte[] getOldValueBytes() {
+ public byte[] getOldValueBytes() {
return this.oldValBytes;
}
@@ -523,19 +523,19 @@ public class RemoteDestroyMessage extends RemoteOperationMessageWithDirectReply
buff.append("; hasOldValue= ").append(this.hasOldValue);
}
- protected final Object getKey() {
+ protected Object getKey() {
return this.key;
}
- private final void setKey(Object key) {
+ private void setKey(Object key) {
this.key = key;
}
- public final Operation getOperation() {
+ public Operation getOperation() {
return this.op;
}
- protected final Object getCallbackArg() {
+ protected Object getCallbackArg() {
return this.cbArg;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteGetMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteGetMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteGetMessage.java
index c72bd58..11afc74 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteGetMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteGetMessage.java
@@ -83,7 +83,7 @@ public class RemoteGetMessage extends RemoteOperationMessageWithDirectReply {
}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.SERIAL_EXECUTOR;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
index c491acb..a170aef 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
@@ -261,7 +261,7 @@ public class RemotePutAllMessage extends RemoteOperationMessageWithDirectReply {
}
@Override
- public final void toData(DataOutput out) throws IOException {
+ public void toData(DataOutput out) throws IOException {
super.toData(out);
DataSerializer.writeObject(this.eventId, out);
DataSerializer.writeObject(this.callbackArg, out);
@@ -344,7 +344,7 @@ public class RemotePutAllMessage extends RemoteOperationMessageWithDirectReply {
* lastModified timestamp for last modification
* @return If succeeds, return true, otherwise, throw exception
*/
- public final boolean doLocalPutAll(final LocalRegion r,
+ public boolean doLocalPutAll(final LocalRegion r,
final InternalDistributedMember eventSender, long lastModified)
throws EntryExistsException, RemoteOperationException {
final DistributedRegion dr = (DistributedRegion) r;
@@ -427,7 +427,7 @@ public class RemotePutAllMessage extends RemoteOperationMessageWithDirectReply {
@Override
- protected final void appendFields(StringBuffer buff) {
+ protected void appendFields(StringBuffer buff) {
super.appendFields(buff);
buff.append("; putAllDataCount=").append(putAllDataCount);
if (this.bridgeContext != null) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutMessage.java
index 95e49c8..4135752 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutMessage.java
@@ -412,30 +412,30 @@ public class RemotePutMessage extends RemoteOperationMessageWithDirectReply
return processor;
}
- // public final boolean needsDirectAck()
+ // public boolean needsDirectAck()
// {
// return this.directAck;
// }
- // final public int getProcessorType() {
+ // public int getProcessorType() {
// return DistributionManager.PARTITIONED_REGION_EXECUTOR;
// }
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
- public final void setKey(Object key) {
+ public void setKey(Object key) {
this.key = key;
}
- public final byte[] getValBytes() {
+ public byte[] getValBytes() {
return this.valBytes;
}
- public final byte[] getOldValueBytes() {
+ public byte[] getOldValueBytes() {
return this.oldValBytes;
}
@@ -460,16 +460,16 @@ public class RemotePutMessage extends RemoteOperationMessageWithDirectReply
this.oldValObj = o;
}
- public final Object getCallbackArg() {
+ public Object getCallbackArg() {
return this.cbArg;
}
- protected final Operation getOperation() {
+ protected Operation getOperation() {
return this.op;
}
@Override
- public final void setOperation(Operation operation) {
+ public void setOperation(Operation operation) {
this.op = operation;
}
@@ -486,7 +486,7 @@ public class RemotePutMessage extends RemoteOperationMessageWithDirectReply
}
@Override
- public final void fromData(DataInput in) throws IOException, ClassNotFoundException {
+ public void fromData(DataInput in) throws IOException, ClassNotFoundException {
super.fromData(in);
setKey(DataSerializer.readObject(in));
@@ -544,7 +544,7 @@ public class RemotePutMessage extends RemoteOperationMessageWithDirectReply
}
@Override
- public final void toData(DataOutput out) throws IOException {
+ public void toData(DataOutput out) throws IOException {
this.hasDelta = false;
super.toData(out);
DataSerializer.writeObject(getKey(), out);
@@ -616,7 +616,7 @@ public class RemotePutMessage extends RemoteOperationMessageWithDirectReply
* indefinitely for the acknowledgement
*/
@Override
- protected final boolean operateOnRegion(DistributionManager dm, LocalRegion r, long startTime)
+ protected boolean operateOnRegion(DistributionManager dm, LocalRegion r, long startTime)
throws EntryExistsException, RemoteOperationException {
this.setInternalDs(r.getSystem());// set the internal DS. Required to
// checked DS level delta-enabled property
@@ -733,7 +733,7 @@ public class RemotePutMessage extends RemoteOperationMessageWithDirectReply
}
@Override
- protected final void appendFields(StringBuffer buff) {
+ protected void appendFields(StringBuffer buff) {
super.appendFields(buff);
buff.append("; key=").append(getKey()).append("; value=");
// buff.append(getValBytes());
@@ -768,11 +768,11 @@ public class RemotePutMessage extends RemoteOperationMessageWithDirectReply
buff.append(this.applyDeltaBytes);
}
- public final InternalDistributedSystem getInternalDs() {
+ public InternalDistributedSystem getInternalDs() {
return internalDs;
}
- public final void setInternalDs(InternalDistributedSystem internalDs) {
+ public void setInternalDs(InternalDistributedSystem internalDs) {
this.internalDs = internalDs;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
index a9b8c1a..9b57b3f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
@@ -253,7 +253,7 @@ public class RemoteRemoveAllMessage extends RemoteOperationMessageWithDirectRepl
}
@Override
- public final void toData(DataOutput out) throws IOException {
+ public void toData(DataOutput out) throws IOException {
super.toData(out);
DataSerializer.writeObject(this.eventId, out);
DataSerializer.writeObject(this.callbackArg, out);
@@ -333,7 +333,7 @@ public class RemoteRemoveAllMessage extends RemoteOperationMessageWithDirectRepl
* @param eventSender the endpoint server who received request from client
* @return If succeeds, return true, otherwise, throw exception
*/
- public final boolean doLocalRemoveAll(final LocalRegion r,
+ public boolean doLocalRemoveAll(final LocalRegion r,
final InternalDistributedMember eventSender)
throws EntryExistsException, RemoteOperationException {
final DistributedRegion dr = (DistributedRegion) r;
@@ -417,7 +417,7 @@ public class RemoteRemoveAllMessage extends RemoteOperationMessageWithDirectRepl
@Override
- protected final void appendFields(StringBuffer buff) {
+ protected void appendFields(StringBuffer buff) {
super.appendFields(buff);
buff.append("; removeAllDataCount=").append(removeAllDataCount);
if (this.bridgeContext != null) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntry.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntry.java
index d9ef183..43165a7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntry.java
@@ -212,7 +212,7 @@ public class TXEntry implements Region.Entry {
}
}
- private final TXEntryUserAttrState txReadUA(KeyInfo ki) {
+ private TXEntryUserAttrState txReadUA(KeyInfo ki) {
TXRegionState txr = this.myTX.txReadRegion(this.localRegion);
if (txr != null) {
return txr.readEntryUserAttr(ki.getKey());
@@ -221,7 +221,7 @@ public class TXEntry implements Region.Entry {
}
}
- protected final TXEntryUserAttrState txWriteUA(KeyInfo ki) {
+ protected TXEntryUserAttrState txWriteUA(KeyInfo ki) {
TXRegionState txr = myTX.txWriteRegion(this.localRegion, ki);
if (txr != null) {
return txr.writeEntryUserAttr(ki.getKey(), this.localRegion);
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java
index e7bd20d..2ee3a8c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java
@@ -434,38 +434,38 @@ public class TXEntryState implements Releasable {
return v;
}
- private final boolean isOpCreate() {
+ private boolean isOpCreate() {
return this.op >= OP_CREATE_LI && this.op <= OP_LOCAL_CREATE;
}
- final boolean isOpCreateEvent() {
+ boolean isOpCreateEvent() {
return isOpCreate();
}
- private final boolean isOpPut() {
+ private boolean isOpPut() {
return this.op >= OP_PUT;
}
- protected final boolean isOpPutEvent() {
+ protected boolean isOpPutEvent() {
return isOpPut();
}
- private final boolean isOpInvalidate() {
+ private boolean isOpInvalidate() {
// Note that OP_CREATE_LI, OP_LLOAD_CREATE_LI, and OP_NLOAD_CREATE_LI
// do not return true here because they are actually creates
// with a value of LOCAL_INVALID locally and some other value remotely.
return this.op <= OP_D_INVALIDATE && this.op >= OP_L_INVALIDATE;
}
- final boolean isOpInvalidateEvent() {
+ boolean isOpInvalidateEvent() {
return isOpInvalidate();
}
- private final boolean isOpDestroy() {
+ private boolean isOpDestroy() {
return this.op <= OP_D_DESTROY && this.op >= OP_L_DESTROY;
}
- final boolean isOpDestroyEvent(LocalRegion r) {
+ boolean isOpDestroyEvent(LocalRegion r) {
// Note that if the region is a proxy then we go ahead and distributed
// the destroy because we can't eliminate it based on committed state
return isOpDestroy()
@@ -477,31 +477,31 @@ public class TXEntryState implements Releasable {
*
* @since GemFire 5.0
*/
- final boolean isOpAnyEvent(LocalRegion r) {
+ boolean isOpAnyEvent(LocalRegion r) {
return isOpPutEvent() || isOpCreateEvent() || isOpInvalidateEvent() || isOpDestroyEvent(r);
}
- final boolean isOpSearchOrLoad() {
+ boolean isOpSearchOrLoad() {
return this.op >= OP_SEARCH_CREATE && this.op != OP_PUT && this.op != OP_LOCAL_CREATE;
}
- final boolean isOpSearch() {
+ boolean isOpSearch() {
return this.op == OP_SEARCH_CREATE || this.op == OP_SEARCH_PUT;
}
- final boolean isOpLocalLoad() {
+ boolean isOpLocalLoad() {
return this.op == OP_LLOAD_CREATE || this.op == OP_LLOAD_PUT;
}
- final boolean isOpNetLoad() {
+ boolean isOpNetLoad() {
return this.op == OP_NLOAD_CREATE || this.op == OP_NLOAD_PUT;
}
- final boolean isOpLoad() {
+ boolean isOpLoad() {
return isOpLocalLoad() || isOpNetLoad();
}
- // private final boolean isLocalEventDistributed()
+ // private boolean isLocalEventDistributed()
// {
// return this.op == OP_D_DESTROY
// || (this.op >= OP_D_INVALIDATE && this.op != OP_SEARCH_CREATE
@@ -1490,11 +1490,11 @@ public class TXEntryState implements Releasable {
return "<" + StringUtils.forceToString(o) + ">";
}
- private final boolean didDestroy() {
+ private boolean didDestroy() {
return this.destroy != DESTROY_NONE;
}
- private final boolean didDistributedDestroy() {
+ private boolean didDistributedDestroy() {
return this.destroy == DESTROY_DISTRIBUTED;
}
@@ -1553,7 +1553,7 @@ public class TXEntryState implements Releasable {
return isOpCreate();
}
- private final void txApplyDestroyLocally(LocalRegion r, Object key, TXState txState) {
+ private void txApplyDestroyLocally(LocalRegion r, Object key, TXState txState) {
boolean invokeCallbacks = isOpDestroyEvent(r);
List<EntryEventImpl> pendingCallbacks =
invokeCallbacks ? txState.getPendingCallbacks() : new ArrayList<EntryEventImpl>();
@@ -1571,7 +1571,7 @@ public class TXEntryState implements Releasable {
// transaction listener that no destroy was done.
}
- private final void txApplyInvalidateLocally(LocalRegion r, Object key, Object newValue,
+ private void txApplyInvalidateLocally(LocalRegion r, Object key, Object newValue,
boolean didDestroy, TXState txState) {
try {
r.txApplyInvalidate(key, newValue, didDestroy, txState.getTransactionId(), null,
@@ -1583,7 +1583,7 @@ public class TXEntryState implements Releasable {
}
}
- private final void txApplyPutLocally(LocalRegion r, Operation putOp, Object key, Object newValue,
+ private void txApplyPutLocally(LocalRegion r, Operation putOp, Object key, Object newValue,
boolean didDestroy, TXState txState) {
try {
r.txApplyPut(putOp, key, newValue, didDestroy, txState.getTransactionId(), null,
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/TXFarSideCMTracker.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXFarSideCMTracker.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXFarSideCMTracker.java
index a7d06be..b7ab7e8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXFarSideCMTracker.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXFarSideCMTracker.java
@@ -83,7 +83,7 @@ public class TXFarSideCMTracker {
this.lastHistoryItem = 0;
}
- public final int getHistorySize() {
+ public int getHistorySize() {
return this.txHistory.length;
}
@@ -91,7 +91,7 @@ public class TXFarSideCMTracker {
* Answers fellow "Far Siders" question about an DACK transaction when the transaction originator
* died before it sent the CommitProcess message.
*/
- public final boolean commitProcessReceived(Object key, DM dm) {
+ public boolean commitProcessReceived(Object key, DM dm) {
// Assume that after the member has departed that we have all its pending
// transaction messages
if (key instanceof TXLockId) {
@@ -137,7 +137,7 @@ public class TXFarSideCMTracker {
* Answers new Grantor query regarding whether it can start handing out new locks. Waits until
* txInProgress is empty.
*/
- public final void waitForAllToProcess() throws InterruptedException {
+ public void waitForAllToProcess() throws InterruptedException {
if (Thread.interrupted())
throw new InterruptedException(); // wisest to do this before the synchronize below
// Assume that a thread interrupt is only sent in the
@@ -155,7 +155,7 @@ public class TXFarSideCMTracker {
* departed/ing Originator (this will most likely be called nearly the same time as
* commitProcessReceived
*/
- public final void waitToProcess(TXLockId lk, DM dm) {
+ public void waitToProcess(TXLockId lk, DM dm) {
waitForMemberToDepart(lk.getMemberId(), dm);
final TXCommitMessage mess;
synchronized (this.txInProgress) {
@@ -189,7 +189,7 @@ public class TXFarSideCMTracker {
/**
* Register a <code>MemberhipListener</code>, wait until the member is gone.
*/
- private final void waitForMemberToDepart(final InternalDistributedMember memberId, DM dm) {
+ private void waitForMemberToDepart(final InternalDistributedMember memberId, DM dm) {
if (!dm.getDistributionManagerIds().contains(memberId)) {
return;
}
@@ -239,7 +239,7 @@ public class TXFarSideCMTracker {
* Indicate that the transaction message has been processed and to place it in the transaction
* history
*/
- public final TXCommitMessage processed(TXCommitMessage processedMess) {
+ public TXCommitMessage processed(TXCommitMessage processedMess) {
final TXCommitMessage mess;
final Object key = processedMess.getTrackerKey();
synchronized (this.txInProgress) {
@@ -269,7 +269,7 @@ public class TXFarSideCMTracker {
* Indicate that this message is never going to be processed, typically used in the case where
* none of the FarSiders received the CommitProcessMessage
**/
- public final void removeMessage(TXCommitMessage deadMess) {
+ public void removeMessage(TXCommitMessage deadMess) {
synchronized (this.txInProgress) {
this.txInProgress.remove(deadMess.getTrackerKey());
// For any waitForAllToComplete
@@ -282,7 +282,7 @@ public class TXFarSideCMTracker {
/**
* Retrieve the commit message associated with the lock
*/
- public final TXCommitMessage get(Object key) {
+ public TXCommitMessage get(Object key) {
final TXCommitMessage mess;
synchronized (this.txInProgress) {
mess = (TXCommitMessage) this.txInProgress.get(key);
@@ -290,7 +290,7 @@ public class TXFarSideCMTracker {
return mess;
}
- public final TXCommitMessage waitForMessage(Object key, DM dm) {
+ public TXCommitMessage waitForMessage(Object key, DM dm) {
TXCommitMessage msg = null;
synchronized (this.txInProgress) {
msg = (TXCommitMessage) this.txInProgress.get(key);
@@ -310,7 +310,7 @@ public class TXFarSideCMTracker {
/**
* The transcation commit message has been received
*/
- public final void add(TXCommitMessage msg) {
+ public void add(TXCommitMessage msg) {
synchronized (this.txInProgress) {
final Object key = msg.getTrackerKey();
if (key == null) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/TXReservationMgr.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXReservationMgr.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXReservationMgr.java
index e1a2ece..261f90c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXReservationMgr.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXReservationMgr.java
@@ -107,7 +107,7 @@ public class TXReservationMgr {
}
}
- private final Object getRegionObject(TXRegionLockRequestImpl lr) {
+ private Object getRegionObject(TXRegionLockRequestImpl lr) {
if (local) {
return lr.getLocalRegion();
} else {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java
index 0a9d80e..6a6e9ad 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java
@@ -1220,7 +1220,7 @@ public class TXState implements TXStateInterface {
* @param ifNew only write the entry if it currently does not exist
* @param expectedOldValue the required old value or null
*/
- final TXEntryState txWriteEntry(LocalRegion region, EntryEventImpl event, boolean ifNew,
+ TXEntryState txWriteEntry(LocalRegion region, EntryEventImpl event, boolean ifNew,
boolean requireOldValue, Object expectedOldValue) throws EntryNotFoundException {
boolean createIfAbsent = true;
if (event.getOperation() == Operation.REPLACE) {
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/TXStateProxyImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXStateProxyImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXStateProxyImpl.java
index 22b95f3..6b6b712 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXStateProxyImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXStateProxyImpl.java
@@ -86,15 +86,15 @@ public class TXStateProxyImpl implements TXStateProxy {
return this.lock;
}
- final boolean isJTA() {
+ boolean isJTA() {
return isJTA;
}
- final public TXId getTxId() {
+ public TXId getTxId() {
return txId;
}
- public final TXManagerImpl getTxMgr() {
+ public TXManagerImpl getTxMgr() {
return txMgr;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java b/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java
index 9917533..f2809a6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java
@@ -88,23 +88,23 @@ public abstract class Token {
/**
* Returns true if o is INVALID, LOCAL_INVALID, DESTROYED, or REMOVED.
*/
- public static final boolean isInvalidOrRemoved(Object o) {
+ public static boolean isInvalidOrRemoved(Object o) {
return isInvalid(o) || isRemoved(o);
}
- public static final boolean isInvalid(Object o) {
+ public static boolean isInvalid(Object o) {
return o == INVALID || o == LOCAL_INVALID;
}
- public static final boolean isRemoved(Object o) {
+ public static boolean isRemoved(Object o) {
return o == DESTROYED || o == REMOVED_PHASE1 || o == REMOVED_PHASE2 || o == TOMBSTONE;
}
- public static final boolean isRemovedFromDisk(Object o) {
+ public static boolean isRemovedFromDisk(Object o) {
return o == DESTROYED || o == REMOVED_PHASE1 || o == REMOVED_PHASE2;
}
- public static final boolean isDestroyed(Object o) {
+ public static boolean isDestroyed(Object o) {
return o == DESTROYED;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/UpdateOperation.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/UpdateOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/UpdateOperation.java
index cd41201..2ba9517 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/UpdateOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/UpdateOperation.java
@@ -502,7 +502,7 @@ public class UpdateOperation extends AbstractUpdateOperation {
@Override
@Retained
- final public EntryEventImpl createEntryEvent(DistributedRegion rgn) {
+ public EntryEventImpl createEntryEvent(DistributedRegion rgn) {
// Object oldValue = null;
final Object argNewValue = null;
// boolean localLoad = false, netLoad = false, netSearch = false,
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/VMLRURegionMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMLRURegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMLRURegionMap.java
index 65a4bfd..3a32efd 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMLRURegionMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMLRURegionMap.java
@@ -42,22 +42,22 @@ class VMLRURegionMap extends AbstractLRURegionMap {
private NewLRUClockHand lruList;
@Override
- protected final void _setCCHelper(EnableLRU ccHelper) {
+ protected void _setCCHelper(EnableLRU ccHelper) {
this.ccHelper = ccHelper;
}
@Override
- protected final EnableLRU _getCCHelper() {
+ protected EnableLRU _getCCHelper() {
return this.ccHelper;
}
@Override
- protected final void _setLruList(NewLRUClockHand lruList) {
+ protected void _setLruList(NewLRUClockHand lruList) {
this.lruList = lruList;
}
@Override
- public final NewLRUClockHand _getLruList() {
+ public NewLRUClockHand _getLruList() {
return this.lruList;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/control/HeapMemoryMonitor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/control/HeapMemoryMonitor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/control/HeapMemoryMonitor.java
index 5d5a3fa..8a16ea1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/control/HeapMemoryMonitor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/control/HeapMemoryMonitor.java
@@ -755,7 +755,7 @@ public class HeapMemoryMonitor implements NotificationListener, MemoryMonitor {
*
* @return True if the member's heap memory is in a critical state, false otherwise.
*/
- public final boolean isMemberHeapCritical(final InternalDistributedMember member) {
+ public boolean isMemberHeapCritical(final InternalDistributedMember member) {
if (member.equals(this.cache.getMyId())) {
return this.mostRecentEvent.getState().isCritical();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/control/MemoryThresholds.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/control/MemoryThresholds.java b/geode-core/src/main/java/org/apache/geode/internal/cache/control/MemoryThresholds.java
index ceaeb4b..c701b3f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/control/MemoryThresholds.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/control/MemoryThresholds.java
@@ -168,7 +168,7 @@ public class MemoryThresholds {
- (0.01 * THRESHOLD_THICKNESS_EVICT * this.maxMemoryBytes));
}
- public static final boolean isLowMemoryExceptionDisabled() {
+ public static boolean isLowMemoryExceptionDisabled() {
return DISABLE_LOW_MEM_EXCEPTION;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/execute/AbstractExecution.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/AbstractExecution.java b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/AbstractExecution.java
index f09a378..af1d6f9 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/AbstractExecution.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/AbstractExecution.java
@@ -116,7 +116,7 @@ public abstract class AbstractExecution implements InternalExecution {
public static final byte HA_HASRESULT_OPTIMIZEFORWRITE_REEXECUTE = 15;
- public static final byte getFunctionState(boolean isHA, boolean hasResult,
+ public static byte getFunctionState(boolean isHA, boolean hasResult,
boolean optimizeForWrite) {
if (isHA) {
if (hasResult) {
@@ -144,7 +144,7 @@ public abstract class AbstractExecution implements InternalExecution {
}
}
- public static final byte getReexecuteFunctionState(byte fnState) {
+ public static byte getReexecuteFunctionState(byte fnState) {
if (fnState == HA_HASRESULT_NO_OPTIMIZEFORWRITE) {
return HA_HASRESULT_NO_OPTIMIZEFORWRITE_REEXECUTE;
} else if (fnState == HA_HASRESULT_OPTIMIZEFORWRITE) {
@@ -238,16 +238,16 @@ public abstract class AbstractExecution implements InternalExecution {
return isFnSerializationReqd;
}
- public final Collection<InternalDistributedMember> getExecutionNodes() {
+ public Collection<InternalDistributedMember> getExecutionNodes() {
return this.executionNodes;
}
- public final void setRequireExecutionNodes(ExecutionNodesListener listener) {
+ public void setRequireExecutionNodes(ExecutionNodesListener listener) {
this.executionNodes = Collections.emptySet();
this.executionNodesListener = listener;
}
- public final void setExecutionNodes(Set<InternalDistributedMember> nodes) {
+ public void setExecutionNodes(Set<InternalDistributedMember> nodes) {
if (this.executionNodes != null) {
this.executionNodes = nodes;
if (this.executionNodesListener != null) {
@@ -256,7 +256,7 @@ public abstract class AbstractExecution implements InternalExecution {
}
}
- public final void executeFunctionOnLocalPRNode(final Function fn, final FunctionContext cx,
+ public void executeFunctionOnLocalPRNode(final Function fn, final FunctionContext cx,
final PartitionedRegionFunctionResultSender sender, DM dm, boolean isTx) {
if (dm instanceof DistributionManager && !isTx) {
if (ServerConnection.isExecuteFunctionOnLocalNodeOnly().byteValue() == 1) {
@@ -294,7 +294,7 @@ public abstract class AbstractExecution implements InternalExecution {
// Bug41118 : in case of lonerDistribuedSystem do local execution through
// main thread otherwise give execution to FunctionExecutor from
// DistributionManager
- public final void executeFunctionOnLocalNode(final Function fn, final FunctionContext cx,
+ public void executeFunctionOnLocalNode(final Function fn, final FunctionContext cx,
final ResultSender sender, DM dm, final boolean isTx) {
if (dm instanceof DistributionManager && !isTx) {
final DistributionManager newDM = (DistributionManager) dm;
@@ -318,7 +318,7 @@ public abstract class AbstractExecution implements InternalExecution {
}
}
- public final void executeFunctionLocally(final Function fn, final FunctionContext cx,
+ public void executeFunctionLocally(final Function fn, final FunctionContext cx,
final ResultSender sender, DM dm) {
FunctionStats stats = FunctionStats.getFunctionStats(fn.getId(), dm.getSystem());
@@ -396,7 +396,7 @@ public abstract class AbstractExecution implements InternalExecution {
return executeFunction(function);
}
- public final void setWaitOnExceptionFlag(boolean waitOnException) {
+ public void setWaitOnExceptionFlag(boolean waitOnException) {
this.setForwardExceptions(waitOnException);
this.waitOnException = waitOnException;
}
@@ -438,7 +438,7 @@ public abstract class AbstractExecution implements InternalExecution {
*/
public abstract void validateExecution(Function function, Set targetMembers);
- public final LocalResultCollector<?, ?> getLocalResultCollector(Function function,
+ public LocalResultCollector<?, ?> getLocalResultCollector(Function function,
final ResultCollector<?, ?> rc) {
if (rc instanceof LocalResultCollector) {
return (LocalResultCollector) rc;
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionContextImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionContextImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionContextImpl.java
index c616cbd..39190f3 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionContextImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionContextImpl.java
@@ -63,7 +63,7 @@ public class FunctionContextImpl implements FunctionContext {
*
* @return the arguments or null if there are no arguments
*/
- public final Object getArguments() {
+ public Object getArguments() {
return this.args;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java
index 4d067e4..0fd607c 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java
@@ -50,11 +50,11 @@ public class TXLockIdImpl implements TXLockId, DataSerializableFixedID {
}
}
- public final int getCount() {
+ public int getCount() {
return this.id;
}
- public final InternalDistributedMember getMemberId() {
+ public InternalDistributedMember getMemberId() {
return this.memberId;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/lru/HeapLRUStatistics.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/lru/HeapLRUStatistics.java b/geode-core/src/main/java/org/apache/geode/internal/cache/lru/HeapLRUStatistics.java
index ea8018a..105d4de 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/lru/HeapLRUStatistics.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/lru/HeapLRUStatistics.java
@@ -44,7 +44,7 @@ public class HeapLRUStatistics extends LRUStatistics {
* @see EnableLRU#mustEvict
*/
@Override
- final public void updateCounter(long delta) {
+ public void updateCounter(long delta) {
super.updateCounter(delta);
}
@@ -54,7 +54,7 @@ public class HeapLRUStatistics extends LRUStatistics {
* <b>NOT</b> reset the counter value.
*/
@Override
- final public void resetCounter() {
+ public void resetCounter() {
super.resetCounter();
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/lru/NewLRUClockHand.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/lru/NewLRUClockHand.java b/geode-core/src/main/java/org/apache/geode/internal/cache/lru/NewLRUClockHand.java
index d9d6be1..ccab3c7 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/lru/NewLRUClockHand.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/lru/NewLRUClockHand.java
@@ -141,7 +141,7 @@ public class NewLRUClockHand {
*
* @param aNode Description of the Parameter
*/
- public final void appendEntry(final LRUClockNode aNode) {
+ public void appendEntry(final LRUClockNode aNode) {
synchronized (this.lock) {
if (aNode.nextLRUNode() != null || aNode.prevLRUNode() != null) {
return;
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/AllBucketProfilesUpdateMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/AllBucketProfilesUpdateMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/AllBucketProfilesUpdateMessage.java
index 02faa25..910de64 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/AllBucketProfilesUpdateMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/AllBucketProfilesUpdateMessage.java
@@ -54,7 +54,7 @@ public class AllBucketProfilesUpdateMessage extends DistributionMessage
public AllBucketProfilesUpdateMessage() {}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.WAITING_POOL_EXECUTOR;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BecomePrimaryBucketMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BecomePrimaryBucketMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BecomePrimaryBucketMessage.java
index 31b8af2..e4fefbb 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BecomePrimaryBucketMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BecomePrimaryBucketMessage.java
@@ -113,7 +113,7 @@ public class BecomePrimaryBucketMessage extends PartitionMessage {
}
@Override
- protected final boolean operateOnPartitionedRegion(DistributionManager dm,
+ protected boolean operateOnPartitionedRegion(DistributionManager dm,
PartitionedRegion region, long startTime) throws ForceReattemptException {
// this is executing in the WAITING_POOL_EXECUTOR
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketProfileUpdateMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketProfileUpdateMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketProfileUpdateMessage.java
index 1d92687..e353393 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketProfileUpdateMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketProfileUpdateMessage.java
@@ -54,7 +54,7 @@ public class BucketProfileUpdateMessage extends DistributionMessage implements M
public BucketProfileUpdateMessage() {}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.WAITING_POOL_EXECUTOR;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketSizeMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketSizeMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketSizeMessage.java
index bd83c1b..ee5d1be 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketSizeMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketSizeMessage.java
@@ -66,7 +66,7 @@ public class BucketSizeMessage extends PartitionMessage {
}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.STANDARD_EXECUTOR;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/CreateBucketMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/CreateBucketMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/CreateBucketMessage.java
index 962eb1a..90f3396 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/CreateBucketMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/CreateBucketMessage.java
@@ -81,7 +81,7 @@ public class CreateBucketMessage extends PartitionMessage {
}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.WAITING_POOL_EXECUTOR;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyMessage.java
index bffaf4d..7009a98 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyMessage.java
@@ -442,19 +442,19 @@ public class DestroyMessage extends PartitionMessageWithDirectReply {
}
}
- protected final Object getKey() {
+ protected Object getKey() {
return this.key;
}
- private final void setKey(Object key) {
+ private void setKey(Object key) {
this.key = key;
}
- public final Operation getOperation() {
+ public Operation getOperation() {
return this.op;
}
- protected final Object getCallbackArg() {
+ protected Object getCallbackArg() {
return this.cbArg;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyRegionOnDataStoreMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyRegionOnDataStoreMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyRegionOnDataStoreMessage.java
index 1d2ab7b..d0c959c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyRegionOnDataStoreMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyRegionOnDataStoreMessage.java
@@ -101,13 +101,13 @@ public class DestroyRegionOnDataStoreMessage extends PartitionMessage {
}
@Override
- public final void fromData(final DataInput in) throws IOException, ClassNotFoundException {
+ public void fromData(final DataInput in) throws IOException, ClassNotFoundException {
super.fromData(in);
callbackArg = DataSerializer.readObject(in);
}
@Override
- public final void toData(final DataOutput out) throws IOException {
+ public void toData(final DataOutput out) throws IOException {
super.toData(out);
DataSerializer.writeObject(callbackArg, out);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/EndBucketCreationMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/EndBucketCreationMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/EndBucketCreationMessage.java
index 0502d5f..7e412c0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/EndBucketCreationMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/EndBucketCreationMessage.java
@@ -90,7 +90,7 @@ public class EndBucketCreationMessage extends PartitionMessage {
}
@Override
- protected final boolean operateOnPartitionedRegion(DistributionManager dm,
+ protected boolean operateOnPartitionedRegion(DistributionManager dm,
PartitionedRegion region, long startTime) throws ForceReattemptException {
// this is executing in the WAITING_POOL_EXECUTOR
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java
index 0e3f74b..c121535 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java
@@ -102,7 +102,7 @@ public class GetMessage extends PartitionMessageWithDirectReply {
Boolean.getBoolean(DistributionConfig.GEMFIRE_PREFIX + "order-pr-gets");
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
if (!forceUseOfPRExecutor && !ORDER_PR_GETS && !isDirectAck()) {
try {
PartitionedRegion pr = PartitionedRegion.getPRFromId(this.regionId);
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
index c71aa40..8ce3a47 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
@@ -90,7 +90,7 @@ public class IndexCreationMsg extends PartitionMessage {
* of the initialization
*/
@Override
- protected final boolean failIfRegionMissing() {
+ protected boolean failIfRegionMissing() {
return false;
}
@@ -413,7 +413,7 @@ public class IndexCreationMsg extends PartitionMessage {
}
@Override
- public final void fromData(DataInput in) throws IOException, ClassNotFoundException {
+ public void fromData(DataInput in) throws IOException, ClassNotFoundException {
super.fromData(in);
this.indexDefinitions = DataSerializer.readHashSet(in);
}
@@ -424,7 +424,7 @@ public class IndexCreationMsg extends PartitionMessage {
}
@Override
- public final void toData(DataOutput out) throws IOException {
+ public void toData(DataOutput out) throws IOException {
super.toData(out);
DataSerializer.writeHashSet(this.indexDefinitions, out);
}
@@ -433,7 +433,7 @@ public class IndexCreationMsg extends PartitionMessage {
* String representation of this message.
*/
@Override
- public final String toString() {
+ public String toString() {
StringBuffer sb = new StringBuffer();
for (IndexCreationData icd : indexDefinitions) {
sb.append(icd.getIndexName()).append(" ");
@@ -634,7 +634,7 @@ public class IndexCreationMsg extends PartitionMessage {
* @param dm distribution manager
*/
@Override
- public final void process(final DM dm, final ReplyProcessor21 p) {
+ public void process(final DM dm, final ReplyProcessor21 p) {
if (logger.isDebugEnabled()) {
logger.debug("Processor id is : {}", this.processorId);
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/InterestEventMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/InterestEventMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/InterestEventMessage.java
index 8259818..7bccf5b 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/InterestEventMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/InterestEventMessage.java
@@ -63,12 +63,12 @@ public class InterestEventMessage extends PartitionMessage {
}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.STANDARD_EXECUTOR;
}
@Override
- protected final boolean operateOnPartitionedRegion(final DistributionManager dm,
+ protected boolean operateOnPartitionedRegion(final DistributionManager dm,
PartitionedRegion r, long startTime) throws ForceReattemptException {
if (logger.isTraceEnabled(LogMarker.DM)) {
logger.debug("InterestEventMessage operateOnPartitionedRegion: {}", r.getFullPath());
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBackupBucketMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBackupBucketMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBackupBucketMessage.java
index 170322f..cca8953 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBackupBucketMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBackupBucketMessage.java
@@ -85,7 +85,7 @@ public class ManageBackupBucketMessage extends PartitionMessage {
}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.WAITING_POOL_EXECUTOR;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBucketMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBucketMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBucketMessage.java
index 7b91cad..7e84404 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBucketMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBucketMessage.java
@@ -80,7 +80,7 @@ public class ManageBucketMessage extends PartitionMessage {
}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.WAITING_POOL_EXECUTOR;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
index 3e734c6..35e36b9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
@@ -93,7 +93,7 @@ public class PRTombstoneMessage extends PartitionMessageWithDirectReply
}
@Override
- protected final boolean operateOnPartitionedRegion(final DistributionManager dm,
+ protected boolean operateOnPartitionedRegion(final DistributionManager dm,
PartitionedRegion r, long startTime) throws ForceReattemptException {
if (logger.isTraceEnabled(LogMarker.DM)) {
logger.debug("PRTombstoneMessage operateOnRegion: {}", r.getFullPath());
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessage.java
index 5129044..6b59f51 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessage.java
@@ -227,7 +227,7 @@ public abstract class PartitionMessage extends DistributionMessage
* @return the compact value that will be sent which represents the PartitionedRegion
* @see PartitionedRegion#getPRId()
*/
- public final int getRegionId() {
+ public int getRegionId() {
return regionId;
}
@@ -236,7 +236,7 @@ public abstract class PartitionMessage extends DistributionMessage
* is required.
*/
@Override
- public final int getProcessorId() {
+ public int getProcessorId() {
return this.processorId;
}
@@ -244,7 +244,7 @@ public abstract class PartitionMessage extends DistributionMessage
* @param processorId1 the {@link org.apache.geode.distributed.internal.ReplyProcessor21} id
* associated with the message, null if no acknowlegement is required.
*/
- public final void registerProcessor(int processorId1) {
+ public void registerProcessor(int processorId1) {
this.processorId = processorId1;
}
@@ -677,7 +677,7 @@ public abstract class PartitionMessage extends DistributionMessage
/**
* @return the txUniqId
*/
- public final int getTXUniqId() {
+ public int getTXUniqId() {
return txUniqId;
}
@@ -694,7 +694,7 @@ public abstract class PartitionMessage extends DistributionMessage
return true;
}
- protected final boolean _mayAddToMultipleSerialGateways(DistributionManager dm) {
+ protected boolean _mayAddToMultipleSerialGateways(DistributionManager dm) {
try {
PartitionedRegion pr = PartitionedRegion.getPRFromId(this.regionId);
if (pr == null) {
@@ -786,7 +786,7 @@ public abstract class PartitionMessage extends DistributionMessage
* @throws ForceReattemptException if the recipient left the distributed system before the
* response was received.
*/
- final public void waitForCacheException()
+ public void waitForCacheException()
throws CacheException, ForceReattemptException, PrimaryBucketException {
try {
waitForRepliesUninterruptibly();
http://git-wip-us.apache.org/repos/asf/geode/blob/5abc4863/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionedRegionFunctionStreamingMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionedRegionFunctionStreamingMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionedRegionFunctionStreamingMessage.java
index f7ca7e6..2a37afc 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionedRegionFunctionStreamingMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionedRegionFunctionStreamingMessage.java
@@ -66,7 +66,7 @@ public class PartitionedRegionFunctionStreamingMessage extends PartitionMessage
}
@Override
- final public int getProcessorType() {
+ public int getProcessorType() {
return DistributionManager.REGION_FUNCTION_EXECUTION_EXECUTOR;
}
[60/78] geode git commit: fixup
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java
index c80acd9..2908587 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java
@@ -20,33 +20,26 @@ package org.apache.geode.internal.cache;
import java.util.UUID;
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
@@ -72,8 +65,9 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
-public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedStatsDiskLRURegionEntryOffHeap {
- public VersionedStatsDiskLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey
+ extends VersionedStatsDiskLRURegionEntryOffHeap {
+ public VersionedStatsDiskLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
@Retained
@@ -81,60 +75,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
-
-
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class,
+ "lastModified");
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained @Released private volatile long ohAddress;
+ @Retained
+ @Released
+ private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
- * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
- * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
- * on the re and we will once again be deadlocked.
- * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
- * on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called
+ * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
+ * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
+ * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
+ * re and we will once again be deadlocked. I don't know if we support any of the hardware
+ * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
*/
- private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class,
+ "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -150,6 +144,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
OffHeapRegionEntryHelper.setValue(this, v);
}
+
@Override
@Retained
@@ -167,7 +162,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
@Released
@@ -175,36 +170,41 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
-// if (this instanceof VMThinRegionEntryLongKey) {
-// factory.returnToPool((VMThinRegionEntryLongKey)this);
-// }
+ // if (this instanceof VMThinRegionEntryLongKey) {
+ // factory.returnToPool((VMThinRegionEntryLongKey)this);
+ // }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -214,13 +214,13 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -231,10 +231,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
diskInitialize(drs, value);
}
}
+
@Override
public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), null);
+ int newSize = capacityController.entrySize(getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
@@ -242,12 +243,12 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -257,58 +258,60 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
@@ -320,36 +323,44 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
}
+
public synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
+ // refcount because we are synced and
+ // only getting the size
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- public synchronized int updateEntrySize(EnableLRU capacityController,
- Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize( getKeyForSizing(), value);
+ int newSize = capacityController.entrySize(getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
+
@Override
public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
+
public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
+
public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
+
public void setEvicted() {
setBits(EVICTED);
}
+
public void unsetEvicted() {
clearBits(~EVICTED);
}
@@ -359,33 +370,38 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
- public void setNextLRUNode( LRUClockNode next ) {
+
+ public void setNextLRUNode(LRUClockNode next) {
this.nextLRU = next;
}
+
public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
- public void setPrevLRUNode( LRUClockNode prev ) {
+
+ public void setPrevLRUNode(LRUClockNode prev) {
this.prevLRU = prev;
}
+
public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
+
public int getEntrySize() {
return this.size;
}
+
protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public Object getKeyForSizing() {
-
// inline keys always report null for sizing since the size comes from the entry size
return null;
@@ -394,7 +410,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -405,51 +421,61 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskLRURegionEntryOffHeapUUIDKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -457,15 +483,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -477,16 +504,16 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -494,17 +521,18 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -516,11 +544,11 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -529,7 +557,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -539,9 +567,9 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -556,23 +584,25 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long keyMostSigBits;
private final long keyLeastSigBits;
+
@Override
public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -582,7 +612,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapUUIDKey extends VersionedSta
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java
index 80feb19..e38bf02 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java
@@ -18,40 +18,23 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +56,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapIntKey (RegionEntryContext context, int key,
+ public VersionedStatsDiskRegionEntryHeapIntKey(RegionEntryContext context, int key,
@@ -81,40 +64,42 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -123,24 +108,29 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -150,12 +140,13 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -163,12 +154,12 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -178,60 +169,60 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -242,51 +233,61 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapIntKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapIntKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -294,15 +295,16 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -314,16 +316,16 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -331,17 +333,18 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -353,11 +356,11 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -366,7 +369,7 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -376,9 +379,9 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -393,29 +396,26 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
- // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
- // key code
-
-
-
+ // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+ // key code
private final int key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -423,7 +423,7 @@ public class VersionedStatsDiskRegionEntryHeapIntKey extends VersionedStatsDiskR
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java
index e1ad215..5bbba86 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java
@@ -18,40 +18,23 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +56,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapLongKey (RegionEntryContext context, long key,
+ public VersionedStatsDiskRegionEntryHeapLongKey(RegionEntryContext context, long key,
@@ -81,42 +64,42 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
-
-
-
this.key = key;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -125,24 +108,29 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -152,12 +140,13 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -165,12 +154,12 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -180,60 +169,60 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -244,51 +233,61 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapLongKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapLongKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -296,15 +295,16 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -316,16 +316,16 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -333,17 +333,18 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -355,11 +356,11 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -368,7 +369,7 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -378,9 +379,9 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -395,22 +396,24 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long key;
+
@Override
public Object getKey() {
return this.key;
}
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -418,7 +421,7 @@ public class VersionedStatsDiskRegionEntryHeapLongKey extends VersionedStatsDisk
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java
index 18d42b8..4d8c7db 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java
@@ -18,40 +18,23 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +56,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+ public VersionedStatsDiskRegionEntryHeapObjectKey(RegionEntryContext context, Object key,
@@ -81,14 +64,14 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -99,20 +82,23 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -121,24 +107,29 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -148,12 +139,13 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -161,12 +153,12 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -176,60 +168,60 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -240,51 +232,61 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapObjectKey> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapObjectKey.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -292,15 +294,16 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -312,16 +315,16 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -329,17 +332,18 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -351,11 +355,11 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -364,7 +368,7 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -374,9 +378,9 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -391,18 +395,19 @@ public class VersionedStatsDiskRegionEntryHeapObjectKey extends VersionedStatsDi
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final Object key;
+
@Override
public Object getKey() {
return this.key;
http://git-wip-us.apache.org/repos/asf/geode/blob/5adb681a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java
index 1c5e92d..9cfc32a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java
@@ -18,40 +18,23 @@ package org.apache.geode.internal.cache;
-
-
-
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.geode.cache.EntryEvent;
-
import org.apache.geode.internal.cache.lru.EnableLRU;
-
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
-
import org.apache.geode.internal.InternalStatisticsDisabledException;
-
-
-
-
-
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
-
-
-
-
-
-
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
@@ -73,7 +56,7 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsDiskRegionEntryHeap {
- public VersionedStatsDiskRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+ public VersionedStatsDiskRegionEntryHeapStringKey1(RegionEntryContext context, String key,
@@ -81,14 +64,14 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
, boolean byteEncode
- ) {
- super(context,
+ ) {
+ super(context,
- (value instanceof RecoveredEntry ? null : value)
+ (value instanceof RecoveredEntry ? null : value)
- );
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
initialize(context, value);
@@ -96,14 +79,15 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i=key.length()-1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
- tmpBits1 |= (byte)key.charAt(i) & 0xff;
+ for (int i = key.length() - 1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
+ // keep findbugs happy.
+ tmpBits1 |= (byte) key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1<<6;
+ tmpBits1 |= 1 << 6;
} else {
- for (int i=key.length()-1; i >= 0; i--) {
+ for (int i = key.length() - 1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
@@ -114,20 +98,23 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> lastModifiedUpdater
- = AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> lastModifiedUpdater =
+ AtomicLongFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class,
+ "lastModified");
private volatile Object value;
+
@Override
protected Object getValueField() {
return this.value;
}
+
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -136,24 +123,29 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
+
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
+
/**
* @see HashEntry#getEntryHash()
*/
public int getEntryHash() {
return this.hash;
}
+
protected void setEntryHash(int v) {
this.hash = v;
}
+
/**
* @see HashEntry#getNextEntry()
*/
public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
+
/**
* @see HashEntry#setNextEntry
*/
@@ -163,12 +155,13 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// disk code
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
+
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
@@ -176,12 +169,12 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore)context;
+ DiskRecoveryStore drs = (DiskRecoveryStore) context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- //get appropriate instance of DiskId implementation based on maxOplogSize
+ // get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -191,60 +184,60 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
*
* @since GemFire 5.1
*/
- protected DiskId id;//= new DiskId();
+ protected DiskId id;// = new DiskId();
+
public DiskId getDiskId() {
return this.id;
}
+
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry)old).getDiskId();
- }
-// // inlining DiskId
-// // always have these fields
-// /**
-// * id consists of
-// * most significant
-// * 1 byte = users bits
-// * 2-8 bytes = oplog id
-// * least significant.
-// *
-// * The highest bit in the oplog id part is set to 1 if the oplog id
-// * is negative.
-// * @todo this field could be an int for an overflow only region
-// */
-// private long id;
-// /**
-// * Length of the bytes on disk.
-// * This is always set. If the value is invalid then it will be set to 0.
-// * The most significant bit is used by overflow to mark it as needing to be written.
-// */
-// protected int valueLength = 0;
-// // have intOffset or longOffset
-// // intOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile int offsetInOplog;
-// // longOffset
-// /**
-// * The position in the oplog (the oplog offset) where this entry's value is
-// * stored
-// */
-// private volatile long offsetInOplog;
-// // have overflowOnly or persistence
-// // overflowOnly
-// // no fields
-// // persistent
-// /** unique entry identifier * */
-// private long keyId;
-
-
+ this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ }
+ // // inlining DiskId
+ // // always have these fields
+ // /**
+ // * id consists of
+ // * most significant
+ // * 1 byte = users bits
+ // * 2-8 bytes = oplog id
+ // * least significant.
+ // *
+ // * The highest bit in the oplog id part is set to 1 if the oplog id
+ // * is negative.
+ // * @todo this field could be an int for an overflow only region
+ // */
+ // private long id;
+ // /**
+ // * Length of the bytes on disk.
+ // * This is always set. If the value is invalid then it will be set to 0.
+ // * The most significant bit is used by overflow to mark it as needing to be written.
+ // */
+ // protected int valueLength = 0;
+ // // have intOffset or longOffset
+ // // intOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile int offsetInOplog;
+ // // longOffset
+ // /**
+ // * The position in the oplog (the oplog offset) where this entry's value is
+ // * stored
+ // */
+ // private volatile long offsetInOplog;
+ // // have overflowOnly or persistence
+ // // overflowOnly
+ // // no fields
+ // // persistent
+ // /** unique entry identifier * */
+ // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// stats code
@Override
public void updateStatsForGet(boolean hit, long time) {
@@ -255,51 +248,61 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
incrementMissCount();
}
}
+
@Override
protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
+
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
-
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> hitCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> missCountUpdater
- = AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> hitCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class,
+ "hitCount");
+ private static final AtomicIntegerFieldUpdater<VersionedStatsDiskRegionEntryHeapStringKey1> missCountUpdater =
+ AtomicIntegerFieldUpdater.newUpdater(VersionedStatsDiskRegionEntryHeapStringKey1.class,
+ "missCount");
+
@Override
public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
+
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
+
@Override
public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
+
@Override
public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
+
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
+
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
+
@Override
public void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this,0);
- missCountUpdater.set(this,0);
+ hitCountUpdater.set(this, 0);
+ missCountUpdater.set(this, 0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public void txDidDestroy(long currTime) {
setLastModified(currTime);
@@ -307,15 +310,16 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
this.hitCount = 0;
this.missCount = 0;
}
+
@Override
public boolean hasStats() {
return true;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// versioned code
private VersionSource memberID;
private short entryVersionLowBytes;
@@ -327,16 +331,16 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
public int getEntryVersion() {
return ((entryVersionHighByte << 16) & 0xFF0000) | (entryVersionLowBytes & 0xFFFF);
}
-
+
public long getRegionVersion() {
- return (((long)regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
+ return (((long) regionVersionHighBytes) << 32) | (regionVersionLowBytes & 0x00000000FFFFFFFFL);
}
-
-
+
+
public long getVersionTimeStamp() {
return getLastModified();
}
-
+
public void setVersionTimeStamp(long time) {
setLastModified(time);
}
@@ -344,17 +348,18 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
public VersionSource getMemberID() {
return this.memberID;
}
+
public int getDistributedSystemId() {
return this.distributedSystemId;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public void setVersions(VersionTag tag) {
this.memberID = tag.getMemberID();
int eVersion = tag.getEntryVersion();
- this.entryVersionLowBytes = (short)(eVersion & 0xffff);
- this.entryVersionHighByte = (byte)((eVersion & 0xff0000) >> 16);
+ this.entryVersionLowBytes = (short) (eVersion & 0xffff);
+ this.entryVersionHighByte = (byte) ((eVersion & 0xff0000) >> 16);
this.regionVersionHighBytes = tag.getRegionVersionHighBytes();
this.regionVersionLowBytes = tag.getRegionVersionLowBytes();
if (!(tag.isGatewayTag()) && this.distributedSystemId == tag.getDistributedSystemId()) {
@@ -366,11 +371,11 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
} else {
setVersionTimeStamp(tag.getVersionTimeStamp());
}
- this.distributedSystemId = (byte)(tag.getDistributedSystemId() & 0xff);
+ this.distributedSystemId = (byte) (tag.getDistributedSystemId() & 0xff);
}
public void setMemberID(VersionSource memberID) {
- this.memberID = memberID;
+ this.memberID = memberID;
}
@Override
@@ -379,7 +384,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
public VersionTag asVersionTag() {
VersionTag tag = VersionTag.create(memberID);
tag.setEntryVersion(getEntryVersion());
@@ -389,9 +394,9 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
return tag;
}
- public void processVersionTag(LocalRegion r, VersionTag tag,
- boolean isTombstoneFromGII, boolean hasDelta,
- VersionSource thisVM, InternalDistributedMember sender, boolean checkForConflicts) {
+ public void processVersionTag(LocalRegion r, VersionTag tag, boolean isTombstoneFromGII,
+ boolean hasDelta, VersionSource thisVM, InternalDistributedMember sender,
+ boolean checkForConflicts) {
basicProcessVersionTag(r, tag, isTombstoneFromGII, hasDelta, thisVM, sender, checkForConflicts);
}
@@ -406,38 +411,41 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
public short getRegionVersionHighBytes() {
return this.regionVersionHighBytes;
}
-
+
/** get rvv internal low bytes. Used by region entries for transferring to storage */
public int getRegionVersionLowBytes() {
return this.regionVersionLowBytes;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
// key code
private final long bits1;
+
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
+
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
+
@Override
public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -446,16 +454,16 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
-
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String)k;
+ String str = (String) k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -463,7 +471,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
}
}
} else {
- for (int i=0; i < keylen; i++) {
+ for (int i = 0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -476,7 +484,7 @@ public class VersionedStatsDiskRegionEntryHeapStringKey1 extends VersionedStatsD
}
return false;
}
-
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
[24/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java
index 5472679..e646978 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java
@@ -15,52 +15,94 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapIntKey extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, value);
+ public VMThinLRURegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapIntKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -69,141 +111,138 @@ public class VMThinLRURegionEntryHeapIntKey extends VMThinLRURegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -211,5 +250,8 @@ public class VMThinLRURegionEntryHeapIntKey extends VMThinLRURegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java
index e025232..c980114 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java
@@ -15,52 +15,96 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapLongKey extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapLongKey(RegionEntryContext context, long key, Object value) {
- super(context, value);
+ public VMThinLRURegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapLongKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -69,141 +113,131 @@ public class VMThinLRURegionEntryHeapLongKey extends VMThinLRURegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -211,5 +245,8 @@ public class VMThinLRURegionEntryHeapLongKey extends VMThinLRURegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java
index edfb327..727c8d7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java
@@ -15,52 +15,92 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapObjectKey extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapObjectKey(RegionEntryContext context, Object key, Object value) {
- super(context, value);
+ public VMThinLRURegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapObjectKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -69,139 +109,133 @@ public class VMThinLRURegionEntryHeapObjectKey extends VMThinLRURegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
// default implementation.
return getKey();
+
+
+
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java
index 1ee29b3..0990312 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java
@@ -15,16 +15,36 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
@@ -33,52 +53,67 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapStringKey1(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, value);
+ public VMThinLRURegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapStringKey1.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -87,158 +122,147 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -247,15 +271,16 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -263,7 +288,7 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -276,5 +301,8 @@ public class VMThinLRURegionEntryHeapStringKey1 extends VMThinLRURegionEntryHeap
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java
index 8d3afdb..caa300d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java
@@ -15,16 +15,36 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
@@ -34,34 +54,48 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapStringKey2(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, value);
+ public VMThinLRURegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -74,23 +108,24 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapStringKey2.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -99,159 +134,148 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -261,10 +285,10 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -275,16 +299,17 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -298,7 +323,7 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -317,5 +342,7 @@ public class VMThinLRURegionEntryHeapStringKey2 extends VMThinLRURegionEntryHeap
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java
index ac2ee13..17b8b4f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java
@@ -15,17 +15,36 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
// offheap: OFFHEAP
@@ -33,36 +52,53 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
- public VMThinLRURegionEntryHeapUUIDKey(RegionEntryContext context, UUID key, Object value) {
- super(context, value);
+ public VMThinLRURegionEntryHeapUUIDKey (RegionEntryContext context, UUID key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapUUIDKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryHeapUUIDKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -71,142 +107,132 @@ public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -216,5 +242,8 @@ public class VMThinLRURegionEntryHeapUUIDKey extends VMThinLRURegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java
index 2f14906..49d760c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java
@@ -15,73 +15,121 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapIntKey(RegionEntryContext context, int key,
- @Retained Object value) {
- super(context, value);
+ public VMThinLRURegionEntryOffHeapIntKey (RegionEntryContext context, int key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapIntKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapIntKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapIntKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapIntKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapIntKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapIntKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -89,13 +137,18 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -109,159 +162,158 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -269,5 +321,8 @@ public class VMThinLRURegionEntryOffHeapIntKey extends VMThinLRURegionEntryOffHe
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java
index da80f16..d7dc925 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java
@@ -15,73 +15,123 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
+// lru: 1
// stats: STATS
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffHeap {
- public VMThinLRURegionEntryOffHeapLongKey(RegionEntryContext context, long key,
- @Retained Object value) {
- super(context, value);
+ public VMThinLRURegionEntryOffHeapLongKey (RegionEntryContext context, long key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapLongKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapLongKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapLongKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapLongKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMThinLRURegionEntryOffHeapLongKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMThinLRURegionEntryOffHeapLongKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -89,13 +139,18 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -109,159 +164,151 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -269,5 +316,8 @@ public class VMThinLRURegionEntryOffHeapLongKey extends VMThinLRURegionEntryOffH
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[34/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java
index 2adfc4b..72caefb 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java
@@ -15,79 +15,126 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
-// lru: LRU
-// stats: STATS
+// disk: 1
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegionEntryOffHeap {
- public VMStatsDiskLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
+
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -95,13 +142,18 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -115,60 +167,60 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext drs, Object value) {
boolean isBackup;
if (drs instanceof LocalRegion) {
- isBackup = ((LocalRegion) drs).getDiskRegion().isBackup();
+ isBackup = ((LocalRegion)drs).getDiskRegion().isBackup();
} else if (drs instanceof PlaceHolderDiskRegion) {
isBackup = true;
} else {
@@ -179,22 +231,23 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
diskInitialize(drs, value);
}
}
-
@Override
- public final synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
+ public synchronized int updateAsyncEntrySize(EnableLRU capacityController) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), null);
+ int newSize = capacityController.entrySize( getKeyForSizing(), null);
setEntrySize(newSize);
int delta = newSize - oldSize;
return delta;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -204,158 +257,147 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
- }
-
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
+ }
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
+
DiskStoreImpl ds = r.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
this.id = DiskId.createDiskId(maxOplogSize, false /* over flow only */, ds.needsLinkedList());
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -363,82 +405,76 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskLRURegionEntryOffHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskLRURegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -448,5 +484,8 @@ public class VMStatsDiskLRURegionEntryOffHeapUUIDKey extends VMStatsDiskLRURegio
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java
index c81af7b..1a50824 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java
@@ -15,53 +15,90 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -70,53 +107,52 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -126,60 +162,63 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -187,79 +226,82 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -267,5 +309,8 @@ public class VMStatsDiskRegionEntryHeapIntKey extends VMStatsDiskRegionEntryHeap
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java
index 5c17dec..a14da39 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java
@@ -15,53 +15,92 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapLongKey(RegionEntryContext context, long key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -70,53 +109,52 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -126,60 +164,63 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -187,79 +228,75 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -267,5 +304,8 @@ public class VMStatsDiskRegionEntryHeapLongKey extends VMStatsDiskRegionEntryHea
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java
index 2ae6d7a..4f8f71c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java
@@ -15,53 +15,88 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapObjectKey(RegionEntryContext context, Object key, Object value) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -70,53 +105,52 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -126,60 +160,63 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -187,77 +224,77 @@ public class VMStatsDiskRegionEntryHeapObjectKey extends VMStatsDiskRegionEntryH
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java
index 44b1962..02eca82 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java
@@ -15,17 +15,33 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
@@ -33,53 +49,69 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapStringKey1(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -88,53 +120,52 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -144,60 +175,63 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -205,96 +239,91 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -303,15 +332,16 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -319,7 +349,7 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -332,5 +362,8 @@ public class VMStatsDiskRegionEntryHeapStringKey1 extends VMStatsDiskRegionEntry
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java
index 9b481c9..23d0cc6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java
@@ -15,17 +15,33 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
-// disk: DISK
+// disk: 1
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
@@ -34,35 +50,50 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntryHeap {
- public VMStatsDiskRegionEntryHeapStringKey2(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, (value instanceof RecoveredEntry ? null : value));
+ public VMStatsDiskRegionEntryHeapStringKey2 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+ (value instanceof RecoveredEntry ? null : value)
+
+
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
initialize(context, value);
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -75,23 +106,24 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -100,53 +132,52 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// disk code
+
protected void initialize(RegionEntryContext context, Object value) {
diskInitialize(context, value);
}
-
@Override
public int updateAsyncEntrySize(EnableLRU capacityController) {
throw new IllegalStateException("should never be called");
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private void diskInitialize(RegionEntryContext context, Object value) {
- DiskRecoveryStore drs = (DiskRecoveryStore) context;
+ DiskRecoveryStore drs = (DiskRecoveryStore)context;
DiskStoreImpl ds = drs.getDiskStore();
long maxOplogSize = ds.getMaxOplogSize();
- // get appropriate instance of DiskId implementation based on maxOplogSize
+ //get appropriate instance of DiskId implementation based on maxOplogSize
this.id = DiskId.createDiskId(maxOplogSize, true/* is persistence */, ds.needsLinkedList());
Helper.initialize(this, drs, value);
}
@@ -156,60 +187,63 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
*
* @since GemFire 5.1
*/
- protected DiskId id;// = new DiskId();
-
+ protected DiskId id;//= new DiskId();
public DiskId getDiskId() {
return this.id;
}
-
@Override
void setDiskId(RegionEntry old) {
- this.id = ((AbstractDiskRegionEntry) old).getDiskId();
+ this.id = ((AbstractDiskRegionEntry)old).getDiskId();
}
+// // inlining DiskId
+// // always have these fields
+// /**
+// * id consists of
+// * most significant
+// * 1 byte = users bits
+// * 2-8 bytes = oplog id
+// * least significant.
+// *
+// * The highest bit in the oplog id part is set to 1 if the oplog id
+// * is negative.
+// * @todo this field could be an int for an overflow only region
+// */
+// private long id;
+// /**
+// * Length of the bytes on disk.
+// * This is always set. If the value is invalid then it will be set to 0.
+// * The most significant bit is used by overflow to mark it as needing to be written.
+// */
+// protected int valueLength = 0;
+// // have intOffset or longOffset
+// // intOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile int offsetInOplog;
+// // longOffset
+// /**
+// * The position in the oplog (the oplog offset) where this entry's value is
+// * stored
+// */
+// private volatile long offsetInOplog;
+// // have overflowOnly or persistence
+// // overflowOnly
+// // no fields
+// // persistent
+// /** unique entry identifier * */
+// private long keyId;
+
+
+
+
- // // inlining DiskId
- // // always have these fields
- // /**
- // * id consists of
- // * most significant
- // * 1 byte = users bits
- // * 2-8 bytes = oplog id
- // * least significant.
- // *
- // * The highest bit in the oplog id part is set to 1 if the oplog id
- // * is negative.
- // * @todo this field could be an int for an overflow only region
- // */
- // private long id;
- // /**
- // * Length of the bytes on disk.
- // * This is always set. If the value is invalid then it will be set to 0.
- // * The most significant bit is used by overflow to mark it as needing to be written.
- // */
- // protected int valueLength = 0;
- // // have intOffset or longOffset
- // // intOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile int offsetInOplog;
- // // longOffset
- // /**
- // * The position in the oplog (the oplog offset) where this entry's value is
- // * stored
- // */
- // private volatile long offsetInOplog;
- // // have overflowOnly or persistence
- // // overflowOnly
- // // no fields
- // // persistent
- // /** unique entry identifier * */
- // private long keyId;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -217,97 +251,92 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsDiskRegionEntryHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsDiskRegionEntryHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -317,10 +346,10 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -331,16 +360,17 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -354,7 +384,7 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -373,5 +403,7 @@ public class VMStatsDiskRegionEntryHeapStringKey2 extends VMStatsDiskRegionEntry
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
[30/78] geode git commit: GEODE-2929: Remove superfluous final from
internal methods
Posted by kl...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java
index 9aa6984..3d51811 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java
@@ -15,92 +15,132 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapStringKey1(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VMStatsLRURegionEntryOffHeapStringKey1 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -108,13 +148,18 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -128,154 +173,144 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -283,98 +318,91 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -383,15 +411,16 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -399,7 +428,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -412,5 +441,8 @@ public class VMStatsLRURegionEntryOffHeapStringKey1 extends VMStatsLRURegionEntr
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java
index 59c4d32..6335b9d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java
@@ -15,58 +15,99 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
-// key string2: KEY_STRING2
+// key string2: 1
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapStringKey2(RegionEntryContext context, String key,
- @Retained Object value, boolean byteEncode) {
- super(context, value);
+ public VMStatsLRURegionEntryOffHeapStringKey2 (RegionEntryContext context, String key,
+
+ @Retained
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
long tmpBits2 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
if (i < 7) {
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
} else {
tmpBits2 <<= 8;
- tmpBits2 |= (byte) key.charAt(i) & 0xff;
+ tmpBits2 |= (byte)key.charAt(i) & 0xff;
}
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
if (i < 3) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
@@ -79,40 +120,39 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
this.bits2 = tmpBits2;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class,
- "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -120,13 +160,18 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -140,154 +185,144 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -295,99 +330,92 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class,
- "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class,
- "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapStringKey2> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapStringKey2.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
// strlen is encoded in lowest 6 bits (max strlen is 63)
// character encoding info is in bits 7 and 8
// The other bits are used to encoded character data.
private final long bits1;
// bits2 encodes character data
private final long bits2;
-
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 7) {
tmpBits1 >>= 8;
chars[i] = (char) (tmpBits1 & 0x00ff);
@@ -397,10 +425,10 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
if (i < 3) {
tmpBits1 >>= 16;
- chars[i] = (char) (tmpBits1 & 0x00FFff);
+ chars[i] = (char) (tmpBits1 & 0x00FFff);
} else {
chars[i] = (char) (tmpBits2 & 0x00FFff);
tmpBits2 >>= 16;
@@ -411,16 +439,17 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
long tmpBits2 = this.bits2;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 7) {
tmpBits1 >>= 8;
@@ -434,7 +463,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
char c;
if (i < 3) {
tmpBits1 >>= 16;
@@ -453,5 +482,7 @@ public class VMStatsLRURegionEntryOffHeapStringKey2 extends VMStatsLRURegionEntr
}
return false;
}
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java
index 0f4ec6d..d43aea1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java
@@ -15,76 +15,117 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
import java.util.UUID;
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
+
+
+
import org.apache.geode.internal.cache.lru.EnableLRU;
+
+
+
+
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
+
import org.apache.geode.internal.cache.lru.LRUClockNode;
import org.apache.geode.internal.cache.lru.NewLRUClockHand;
+
+
+
+
+
+
+
+
import org.apache.geode.internal.offheap.OffHeapRegionEntryHelper;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
-// lru: LRU
-// stats: STATS
+// lru: 1
+// stats: 1
// versioned: VERSIONED
-// offheap: OFFHEAP
+// offheap: 1
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
// key long: KEY_LONG
-// key uuid: KEY_UUID
+// key uuid: 1
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOffHeap {
- public VMStatsLRURegionEntryOffHeapUUIDKey(RegionEntryContext context, UUID key,
- @Retained Object value) {
- super(context, value);
+ public VMStatsLRURegionEntryOffHeapUUIDKey (RegionEntryContext context, UUID key,
+
+ @Retained
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
this.keyMostSigBits = key.getMostSignificantBits();
this.keyLeastSigBits = key.getLeastSignificantBits();
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+ private static final AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "lastModified");
+
/**
* All access done using ohAddrUpdater so it is used even though the compiler can not tell it is.
*/
@SuppressWarnings("unused")
- @Retained
- @Released
- private volatile long ohAddress;
+ @Retained @Released private volatile long ohAddress;
/**
- * I needed to add this because I wanted clear to call setValue which normally can only be called
- * while the re is synced. But if I sync in that code it causes a lock ordering deadlock with the
- * disk regions because they also get a rw lock in clear. Some hardware platforms do not support
- * CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync on the
- * re and we will once again be deadlocked. I don't know if we support any of the hardware
- * platforms that do not have a 64bit CAS. If we do then we can expect deadlocks on disk regions.
+ * I needed to add this because I wanted clear to call setValue which normally can only be called while the re is synced.
+ * But if I sync in that code it causes a lock ordering deadlock with the disk regions because they also get a rw lock in clear.
+ * Some hardware platforms do not support CAS on a long. If gemfire is run on one of those the AtomicLongFieldUpdater does a sync
+ * on the re and we will once again be deadlocked.
+ * I don't know if we support any of the hardware platforms that do not have a 64bit CAS. If we do then we can expect deadlocks
+ * on disk regions.
*/
- private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> ohAddrUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
-
+ private final static AtomicLongFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> ohAddrUpdater = AtomicLongFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "ohAddress");
+
@Override
public Token getValueAsToken() {
return OffHeapRegionEntryHelper.getValueAsToken(this);
}
-
+
@Override
protected Object getValueField() {
return OffHeapRegionEntryHelper._getValue(this);
@@ -92,13 +133,18 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override
+
@Unretained
protected void setValueField(@Unretained Object v) {
+
+
+
OffHeapRegionEntryHelper.setValue(this, v);
}
-
@Override
+
@Retained
+
public Object _getValueRetain(RegionEntryContext context, boolean decompress) {
return OffHeapRegionEntryHelper._getValueRetain(this, decompress, context);
}
@@ -112,154 +158,144 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
public boolean setAddress(long expectedAddr, long newAddr) {
return ohAddrUpdater.compareAndSet(this, expectedAddr, newAddr);
}
-
+
@Override
+
@Released
+
public void release() {
OffHeapRegionEntryHelper.releaseEntry(this);
}
-
+
@Override
public void returnToPool() {
// Deadcoded for now; never was working
- // if (this instanceof VMThinRegionEntryLongKey) {
- // factory.returnToPool((VMThinRegionEntryLongKey)this);
- // }
+// if (this instanceof VMThinRegionEntryLongKey) {
+// factory.returnToPool((VMThinRegionEntryLongKey)this);
+// }
}
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// lru code
@Override
public void setDelayedDiskId(LocalRegion r) {
- // nothing needed for LRUs with no disk
- }
- public final synchronized int updateEntrySize(EnableLRU capacityController) {
- return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing
- // refcount because we are synced and
- // only getting the size
- }
+
+
+
+ // nothing needed for LRUs with no disk
+
+ }
+ public synchronized int updateEntrySize(EnableLRU capacityController) {
+ return updateEntrySize(capacityController, _getValue()); // OFHEAP: _getValue ok w/o incing refcount because we are synced and only getting the size
+ }
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- public final synchronized int updateEntrySize(EnableLRU capacityController, Object value) {
+
+ public synchronized int updateEntrySize(EnableLRU capacityController,
+ Object value) {
int oldSize = getEntrySize();
- int newSize = capacityController.entrySize(getKeyForSizing(), value);
+ int newSize = capacityController.entrySize( getKeyForSizing(), value);
setEntrySize(newSize);
int delta = newSize - oldSize;
- // if ( debug ) log( "updateEntrySize key=" + getKey()
- // + (_getValue() == Token.INVALID ? " invalid" :
- // (_getValue() == Token.LOCAL_INVALID ? "local_invalid" :
- // (_getValue()==null ? " evicted" : " valid")))
- // + " oldSize=" + oldSize
- // + " newSize=" + this.size );
return delta;
}
-
- public final boolean testRecentlyUsed() {
+ public boolean testRecentlyUsed() {
return areAnyBitsSet(RECENTLY_USED);
}
-
@Override
- public final void setRecentlyUsed() {
+ public void setRecentlyUsed() {
setBits(RECENTLY_USED);
}
-
- public final void unsetRecentlyUsed() {
+ public void unsetRecentlyUsed() {
clearBits(~RECENTLY_USED);
}
-
- public final boolean testEvicted() {
+ public boolean testEvicted() {
return areAnyBitsSet(EVICTED);
}
-
- public final void setEvicted() {
+ public void setEvicted() {
setBits(EVICTED);
}
-
- public final void unsetEvicted() {
+ public void unsetEvicted() {
clearBits(~EVICTED);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
private LRUClockNode nextLRU;
private LRUClockNode prevLRU;
private int size;
-
- public final void setNextLRUNode(LRUClockNode next) {
+ public void setNextLRUNode( LRUClockNode next ) {
this.nextLRU = next;
}
-
- public final LRUClockNode nextLRUNode() {
+ public LRUClockNode nextLRUNode() {
return this.nextLRU;
}
-
- public final void setPrevLRUNode(LRUClockNode prev) {
+ public void setPrevLRUNode( LRUClockNode prev ) {
this.prevLRU = prev;
}
-
- public final LRUClockNode prevLRUNode() {
+ public LRUClockNode prevLRUNode() {
return this.prevLRU;
}
-
- public final int getEntrySize() {
+ public int getEntrySize() {
return this.size;
}
-
- protected final void setEntrySize(int size) {
+ protected void setEntrySize(int size) {
this.size = size;
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
- // @Override
- // public StringBuilder appendFieldsToString(final StringBuilder sb) {
- // StringBuilder result = super.appendFieldsToString(sb);
- // result.append("; prev=").append(this.prevLRU==null?"null":"not null");
- // result.append("; next=").append(this.nextLRU==null?"null":"not null");
- // return result;
- // }
+
@Override
public Object getKeyForSizing() {
+
+
+
+
// inline keys always report null for sizing since the size comes from the entry size
return null;
+
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -267,80 +303,76 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsLRURegionEntryOffHeapUUIDKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsLRURegionEntryOffHeapUUIDKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
+
private final long keyMostSigBits;
private final long keyLeastSigBits;
-
@Override
- public final Object getKey() {
+ public Object getKey() {
return new UUID(this.keyMostSigBits, this.keyLeastSigBits);
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof UUID) {
@@ -350,5 +382,8 @@ public class VMStatsLRURegionEntryOffHeapUUIDKey extends VMStatsLRURegionEntryOf
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java
index 8f9650e..410cade 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java
@@ -15,50 +15,81 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
-// key int: KEY_INT
+// key int: 1
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapIntKey(RegionEntryContext context, int key, Object value) {
- super(context, value);
+ public VMStatsRegionEntryHeapIntKey (RegionEntryContext context, int key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapIntKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapIntKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -67,40 +98,40 @@ public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -108,79 +139,82 @@ public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapIntKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapIntKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapIntKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapIntKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapIntKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final int key;
+
+
+
+
+
+
+
+ private final int key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Integer) {
@@ -188,5 +222,8 @@ public class VMStatsRegionEntryHeapIntKey extends VMStatsRegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java
index e6311d2..27b8c19 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java
@@ -15,50 +15,83 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
// key object: KEY_OBJECT
// key int: KEY_INT
-// key long: KEY_LONG
+// key long: 1
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapLongKey(RegionEntryContext context, long key, Object value) {
- super(context, value);
+ public VMStatsRegionEntryHeapLongKey (RegionEntryContext context, long key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapLongKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapLongKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -67,40 +100,40 @@ public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -108,79 +141,75 @@ public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapLongKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapLongKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapLongKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapLongKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapLongKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long key;
+ private final long key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
-
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof Long) {
@@ -188,5 +217,8 @@ public class VMStatsRegionEntryHeapLongKey extends VMStatsRegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java
index 28f2ff7..68a7ccf 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java
@@ -15,50 +15,79 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
-// key object: KEY_OBJECT
+// key object: 1
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
// key string1: KEY_STRING1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapObjectKey extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapObjectKey(RegionEntryContext context, Object key, Object value) {
- super(context, value);
+ public VMStatsRegionEntryHeapObjectKey (RegionEntryContext context, Object key,
+
+
+
+ Object value
+
+
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
this.key = key;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapObjectKey> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapObjectKey> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -67,40 +96,40 @@ public class VMStatsRegionEntryHeapObjectKey extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -108,77 +137,77 @@ public class VMStatsRegionEntryHeapObjectKey extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapObjectKey> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapObjectKey> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapObjectKey> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapObjectKey> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapObjectKey.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final Object key;
+ private final Object key;
@Override
- public final Object getKey() {
+ public Object getKey() {
return this.key;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+
http://git-wip-us.apache.org/repos/asf/geode/blob/30f455bb/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java
index e3485a9..e622e4e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java
@@ -15,15 +15,24 @@
package org.apache.geode.internal.cache;
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
+
+
+
+
+
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
+
import org.apache.geode.internal.InternalStatisticsDisabledException;
+
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.HashEntry;
// macros whose definition changes this class:
// disk: DISK
// lru: LRU
-// stats: STATS
+// stats: 1
// versioned: VERSIONED
// offheap: OFFHEAP
// One of the following key macros must be defined:
@@ -31,52 +40,67 @@ import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap.Ha
// key int: KEY_INT
// key long: KEY_LONG
// key uuid: KEY_UUID
-// key string1: KEY_STRING1
+// key string1: 1
// key string2: KEY_STRING2
+
/**
* Do not modify this class. It was generated. Instead modify LeafRegionEntry.cpp and then run
* ./dev-tools/generateRegionEntryClasses.sh (it must be run from the top level directory).
*/
public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
- public VMStatsRegionEntryHeapStringKey1(RegionEntryContext context, String key, Object value,
- boolean byteEncode) {
- super(context, value);
+ public VMStatsRegionEntryHeapStringKey1 (RegionEntryContext context, String key,
+
+
+
+ Object value
+
+ , boolean byteEncode
+
+ ) {
+ super(context,
+
+
+
+ value
+
+ );
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// caller has already confirmed that key.length <= MAX_INLINE_STRING_KEY
long tmpBits1 = 0L;
if (byteEncode) {
- for (int i = key.length() - 1; i >= 0; i--) {
- // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to
- // keep findbugs happy.
- tmpBits1 |= (byte) key.charAt(i) & 0xff;
+ for (int i=key.length()-1; i >= 0; i--) {
+ // Note: we know each byte is <= 0x7f so the "& 0xff" is not needed. But I added it in to keep findbugs happy.
+ tmpBits1 |= (byte)key.charAt(i) & 0xff;
tmpBits1 <<= 8;
}
- tmpBits1 |= 1 << 6;
+ tmpBits1 |= 1<<6;
} else {
- for (int i = key.length() - 1; i >= 0; i--) {
+ for (int i=key.length()-1; i >= 0; i--) {
tmpBits1 |= key.charAt(i);
tmpBits1 <<= 16;
}
}
tmpBits1 |= key.length();
this.bits1 = tmpBits1;
+
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// common code
protected int hash;
private HashEntry<Object, Object> next;
@SuppressWarnings("unused")
private volatile long lastModified;
- private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapStringKey1> lastModifiedUpdater =
- AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "lastModified");
- private volatile Object value;
+ private static final AtomicLongFieldUpdater<VMStatsRegionEntryHeapStringKey1> lastModifiedUpdater
+ = AtomicLongFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "lastModified");
+ private volatile Object value;
@Override
- protected final Object getValueField() {
+ protected Object getValueField() {
return this.value;
}
-
@Override
protected void setValueField(Object v) {
this.value = v;
@@ -85,40 +109,40 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
protected long getLastModifiedField() {
return lastModifiedUpdater.get(this);
}
-
protected boolean compareAndSetLastModifiedField(long expectedValue, long newValue) {
return lastModifiedUpdater.compareAndSet(this, expectedValue, newValue);
}
-
/**
* @see HashEntry#getEntryHash()
*/
- public final int getEntryHash() {
+ public int getEntryHash() {
return this.hash;
}
-
protected void setEntryHash(int v) {
this.hash = v;
}
-
/**
* @see HashEntry#getNextEntry()
*/
- public final HashEntry<Object, Object> getNextEntry() {
+ public HashEntry<Object, Object> getNextEntry() {
return this.next;
}
-
/**
* @see HashEntry#setNextEntry
*/
- public final void setNextEntry(final HashEntry<Object, Object> n) {
+ public void setNextEntry(final HashEntry<Object, Object> n) {
this.next = n;
}
+
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// stats code
@Override
- public final void updateStatsForGet(boolean hit, long time) {
+ public void updateStatsForGet(boolean hit, long time) {
setLastAccessed(time);
if (hit) {
incrementHitCount();
@@ -126,96 +150,91 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
incrementMissCount();
}
}
-
@Override
- protected final void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
+ protected void setLastModifiedAndAccessedTimes(long lastModified, long lastAccessed) {
_setLastModified(lastModified);
- if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
+ if (!DISABLE_ACCESS_TIME_UPDATE_ON_PUT) {
setLastAccessed(lastAccessed);
}
}
-
private volatile long lastAccessed;
private volatile int hitCount;
private volatile int missCount;
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey1> hitCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "hitCount");
- private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey1> missCountUpdater =
- AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "missCount");
-
+
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey1> hitCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "hitCount");
+ private static final AtomicIntegerFieldUpdater<VMStatsRegionEntryHeapStringKey1> missCountUpdater
+ = AtomicIntegerFieldUpdater.newUpdater(VMStatsRegionEntryHeapStringKey1.class, "missCount");
+
@Override
- public final long getLastAccessed() throws InternalStatisticsDisabledException {
+ public long getLastAccessed() throws InternalStatisticsDisabledException {
return this.lastAccessed;
}
-
private void setLastAccessed(long lastAccessed) {
this.lastAccessed = lastAccessed;
}
-
@Override
- public final long getHitCount() throws InternalStatisticsDisabledException {
+ public long getHitCount() throws InternalStatisticsDisabledException {
return this.hitCount & 0xFFFFFFFFL;
}
-
@Override
- public final long getMissCount() throws InternalStatisticsDisabledException {
+ public long getMissCount() throws InternalStatisticsDisabledException {
return this.missCount & 0xFFFFFFFFL;
}
-
private void incrementHitCount() {
hitCountUpdater.incrementAndGet(this);
}
-
private void incrementMissCount() {
missCountUpdater.incrementAndGet(this);
}
-
@Override
- public final void resetCounts() throws InternalStatisticsDisabledException {
- hitCountUpdater.set(this, 0);
- missCountUpdater.set(this, 0);
+ public void resetCounts() throws InternalStatisticsDisabledException {
+ hitCountUpdater.set(this,0);
+ missCountUpdater.set(this,0);
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
- public final void txDidDestroy(long currTime) {
+ public void txDidDestroy(long currTime) {
setLastModified(currTime);
setLastAccessed(currTime);
this.hitCount = 0;
this.missCount = 0;
}
-
@Override
public boolean hasStats() {
return true;
}
+
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
// key code
- private final long bits1;
+ private final long bits1;
private int getKeyLength() {
return (int) (this.bits1 & 0x003fL);
}
-
private int getEncoding() {
// 0 means encoded as char
// 1 means encoded as bytes that are all <= 0x7f;
return (int) (this.bits1 >> 6) & 0x03;
}
-
@Override
- public final Object getKey() {
+ public Object getKey() {
int keylen = getKeyLength();
char[] chars = new char[keylen];
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
- chars[i] = (char) (tmpBits1 & 0x00ff);
+ chars[i] = (char) (tmpBits1 & 0x00ff);
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
chars[i] = (char) (tmpBits1 & 0x00FFff);
}
@@ -224,15 +243,16 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
}
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
+
@Override
public boolean isKeyEqual(Object k) {
if (k instanceof String) {
- String str = (String) k;
+ String str = (String)k;
int keylen = getKeyLength();
if (str.length() == keylen) {
long tmpBits1 = this.bits1;
if (getEncoding() == 1) {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 8;
char c = (char) (tmpBits1 & 0x00ff);
if (str.charAt(i) != c) {
@@ -240,7 +260,7 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
}
}
} else {
- for (int i = 0; i < keylen; i++) {
+ for (int i=0; i < keylen; i++) {
tmpBits1 >>= 16;
char c = (char) (tmpBits1 & 0x00FFff);
if (str.charAt(i) != c) {
@@ -253,5 +273,8 @@ public class VMStatsRegionEntryHeapStringKey1 extends VMStatsRegionEntryHeap {
}
return false;
}
+
+
// DO NOT modify this class. It was generated from LeafRegionEntry.cpp
}
+