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/01 22:57:28 UTC

[05/51] [partial] geode git commit: GEODE-2632: change dependencies on GemFireCacheImpl to InternalCache

http://git-wip-us.apache.org/repos/asf/geode/blob/d4f23332/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 b4bd8d3..9229485 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,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.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);
@@ -99,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);
   }
@@ -119,47 +160,44 @@ 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() {
+  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() {
     return this.hash;
   }
-
   protected void setEntryHash(int v) {
     this.hash = v;
   }
-
   /**
    * @see HashEntry#getNextEntry()
    */
   public final HashEntry<Object, Object> getNextEntry() {
     return this.next;
   }
-
   /**
    * @see HashEntry#setNextEntry
    */
@@ -167,12 +205,15 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
     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 VersionedStatsDiskLRURegionEntryOffHeapObjectKey
       diskInitialize(drs, value);
     }
   }
-
   @Override
   public final 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,158 +250,162 @@ 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
+    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 final 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 );
+  //   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() {
     return areAnyBitsSet(RECENTLY_USED);
   }
-
   @Override
   public final void setRecentlyUsed() {
     setBits(RECENTLY_USED);
   }
-
   public final void unsetRecentlyUsed() {
     clearBits(~RECENTLY_USED);
   }
-
   public final boolean testEvicted() {
     return areAnyBitsSet(EVICTED);
   }
-
   public final void setEvicted() {
     setBits(EVICTED);
   }
-
   public final 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 final void setNextLRUNode( LRUClockNode next ) {
     this.nextLRU = next;
   }
-
   public final LRUClockNode nextLRUNode() {
     return this.nextLRU;
   }
-
-  public final void setPrevLRUNode(LRUClockNode prev) {
+  public final void setPrevLRUNode( LRUClockNode prev ) {
     this.prevLRU = prev;
   }
-
   public final LRUClockNode prevLRUNode() {
     return this.prevLRU;
   }
-
   public final int getEntrySize() {
     return this.size;
   }
-
   protected final 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 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 final void updateStatsForGet(boolean hit, long time)
+  {
     setLastAccessed(time);
     if (hit) {
       incrementHitCount();
@@ -367,59 +413,51 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
       incrementMissCount();
     }
   }
-
   @Override
   protected final 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 {
     return this.lastAccessed;
   }
-
   private void setLastAccessed(long lastAccessed) {
     this.lastAccessed = lastAccessed;
   }
-
   @Override
   public final long getHitCount() throws InternalStatisticsDisabledException {
     return this.hitCount & 0xFFFFFFFFL;
   }
-
   @Override
   public final 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);
+    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) {
     setLastModified(currTime);
@@ -427,13 +465,15 @@ public class VersionedStatsDiskLRURegionEntryOffHeapObjectKey
     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;
@@ -445,15 +485,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);
   }
@@ -461,17 +502,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()) {
@@ -483,11 +524,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
@@ -496,6 +537,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());
@@ -505,9 +547,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);
   }
 
@@ -522,19 +564,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() {
     return this.key;
   }
+
+
   // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
 }
+

http://git-wip-us.apache.org/repos/asf/geode/blob/d4f23332/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 ada4de1..eb495c5 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,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.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);
@@ -116,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);
   }
@@ -136,47 +175,44 @@ 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() {
+  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() {
     return this.hash;
   }
-
   protected void setEntryHash(int v) {
     this.hash = v;
   }
-
   /**
    * @see HashEntry#getNextEntry()
    */
   public final HashEntry<Object, Object> getNextEntry() {
     return this.next;
   }
-
   /**
    * @see HashEntry#setNextEntry
    */
@@ -184,12 +220,15 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
     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 VersionedStatsDiskLRURegionEntryOffHeapStringKey1
       diskInitialize(drs, value);
     }
   }
-
   @Override
   public final 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,158 +265,162 @@ 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
+    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 final 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 );
+  //   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() {
     return areAnyBitsSet(RECENTLY_USED);
   }
-
   @Override
   public final void setRecentlyUsed() {
     setBits(RECENTLY_USED);
   }
-
   public final void unsetRecentlyUsed() {
     clearBits(~RECENTLY_USED);
   }
-
   public final boolean testEvicted() {
     return areAnyBitsSet(EVICTED);
   }
-
   public final void setEvicted() {
     setBits(EVICTED);
   }
-
   public final 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 final void setNextLRUNode( LRUClockNode next ) {
     this.nextLRU = next;
   }
-
   public final LRUClockNode nextLRUNode() {
     return this.nextLRU;
   }
-
-  public final void setPrevLRUNode(LRUClockNode prev) {
+  public final void setPrevLRUNode( LRUClockNode prev ) {
     this.prevLRU = prev;
   }
-
   public final LRUClockNode prevLRUNode() {
     return this.prevLRU;
   }
-
   public final int getEntrySize() {
     return this.size;
   }
-
   protected final 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 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 final void updateStatsForGet(boolean hit, long time)
+  {
     setLastAccessed(time);
     if (hit) {
       incrementHitCount();
@@ -384,59 +428,51 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
       incrementMissCount();
     }
   }
-
   @Override
   protected final 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 {
     return this.lastAccessed;
   }
-
   private void setLastAccessed(long lastAccessed) {
     this.lastAccessed = lastAccessed;
   }
-
   @Override
   public final long getHitCount() throws InternalStatisticsDisabledException {
     return this.hitCount & 0xFFFFFFFFL;
   }
-
   @Override
   public final 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);
+    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) {
     setLastModified(currTime);
@@ -444,13 +480,15 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
     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;
@@ -462,15 +500,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);
   }
@@ -478,17 +517,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()) {
@@ -500,11 +539,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
@@ -513,6 +552,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());
@@ -522,9 +562,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);
   }
 
@@ -539,38 +579,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() {
     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);
       }
@@ -579,15 +619,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) {
@@ -595,7 +636,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) {
@@ -608,5 +649,8 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey1
     }
     return false;
   }
+  
+
   // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
 }
+

http://git-wip-us.apache.org/repos/asf/geode/blob/d4f23332/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 fd63154..1fb8797 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,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.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;
@@ -86,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);
@@ -128,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);
   }
@@ -148,47 +187,44 @@ 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() {
+  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() {
     return this.hash;
   }
-
   protected void setEntryHash(int v) {
     this.hash = v;
   }
-
   /**
    * @see HashEntry#getNextEntry()
    */
   public final HashEntry<Object, Object> getNextEntry() {
     return this.next;
   }
-
   /**
    * @see HashEntry#setNextEntry
    */
@@ -196,12 +232,15 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
     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 VersionedStatsDiskLRURegionEntryOffHeapStringKey2
       diskInitialize(drs, value);
     }
   }
-
   @Override
   public final 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,158 +277,162 @@ 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
+    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 final 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 );
+  //   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() {
     return areAnyBitsSet(RECENTLY_USED);
   }
-
   @Override
   public final void setRecentlyUsed() {
     setBits(RECENTLY_USED);
   }
-
   public final void unsetRecentlyUsed() {
     clearBits(~RECENTLY_USED);
   }
-
   public final boolean testEvicted() {
     return areAnyBitsSet(EVICTED);
   }
-
   public final void setEvicted() {
     setBits(EVICTED);
   }
-
   public final 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 final void setNextLRUNode( LRUClockNode next ) {
     this.nextLRU = next;
   }
-
   public final LRUClockNode nextLRUNode() {
     return this.nextLRU;
   }
-
-  public final void setPrevLRUNode(LRUClockNode prev) {
+  public final void setPrevLRUNode( LRUClockNode prev ) {
     this.prevLRU = prev;
   }
-
   public final LRUClockNode prevLRUNode() {
     return this.prevLRU;
   }
-
   public final int getEntrySize() {
     return this.size;
   }
-
   protected final 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 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 final void updateStatsForGet(boolean hit, long time)
+  {
     setLastAccessed(time);
     if (hit) {
       incrementHitCount();
@@ -396,59 +440,51 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
       incrementMissCount();
     }
   }
-
   @Override
   protected final 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 {
     return this.lastAccessed;
   }
-
   private void setLastAccessed(long lastAccessed) {
     this.lastAccessed = lastAccessed;
   }
-
   @Override
   public final long getHitCount() throws InternalStatisticsDisabledException {
     return this.hitCount & 0xFFFFFFFFL;
   }
-
   @Override
   public final 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);
+    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) {
     setLastModified(currTime);
@@ -456,13 +492,15 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
     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,15 +512,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);
   }
@@ -490,17 +529,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()) {
@@ -512,11 +551,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
@@ -525,6 +564,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());
@@ -534,9 +574,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);
   }
 
@@ -551,31 +591,31 @@ 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() {
     int keylen = getKeyLength();
@@ -583,7 +623,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
     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);
@@ -593,10 +633,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;
@@ -607,16 +647,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;
@@ -630,7 +671,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;
@@ -649,5 +690,7 @@ public class VersionedStatsDiskLRURegionEntryOffHeapStringKey2
     }
     return false;
   }
+
   // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
 }
+