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:20:17 UTC
[67/78] geode git commit: fixup
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
}