You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by sa...@apache.org on 2016/06/14 19:11:39 UTC

[89/90] [abbrv] incubator-geode git commit: Merge branch 'develop' into feature/GEODE-93

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/259c2751/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/DiskEntry.java
----------------------------------------------------------------------
diff --cc geode-core/src/main/java/com/gemstone/gemfire/internal/cache/DiskEntry.java
index 9d58fd2,5da0d9a..698e3bd
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/DiskEntry.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/DiskEntry.java
@@@ -956,35 -897,30 +897,31 @@@ public interface DiskEntry extends Regi
            did.setUserBits(re.getUserBits());
            oldValueLength = did.getValueLength();
            did.setValueLength(re.getValueLength());
 -          // The following undo and then do fixes bug 41849
 -          // First, undo the stats done for the previous recovered value
 -          if (oldKeyId < 0) {
 -            dr.incNumOverflowOnDisk(-1L);
 -            dr.incNumOverflowBytesOnDisk(-oldValueLength);
 -            incrementBucketStats(region, 0/*InVM*/, -1/*OnDisk*/, -oldValueLength);
 -          } else {
 -            dr.incNumEntriesInVM(-1L);
 -            incrementBucketStats(region, -1/*InVM*/, 0/*OnDisk*/, 0);
 -          }
 -          // Second, do the stats done for the current recovered value
 +          
            if (re.getRecoveredKeyId() < 0) {
              if (!entry.isValueNull()) {
-               try {
-                 entry.handleValueOverflow(region);
-                 entry.setValueWithContext(region, null); // fixes bug 41119
-               }finally {
-                 entry.afterValueOverflow(region);
-               }
+               entry.handleValueOverflow(region);
+               entry.setValueWithContext(region, null); // fixes bug 41119
              }
 -            dr.incNumOverflowOnDisk(1L);
 -            dr.incNumOverflowBytesOnDisk(did.getValueLength());
 -            incrementBucketStats(region, 0/*InVM*/, 1/*OnDisk*/,
 -                                 did.getValueLength());
            } else {
              entry.setValueWithContext(region, entry.prepareValueForCache(region, re.getValue(), false));
 -            dr.incNumEntriesInVM(1L);
 -            incrementBucketStats(region, 1/*InVM*/, 0/*OnDisk*/, 0);
 +          }
 +          
 +          if (re.getRecoveredKeyId() < 0) {
 +            if(oldKeyId >= 0) {
 +              dr.incNumEntriesInVM(-1L);
 +              dr.incNumOverflowOnDisk(1L);
 +              dr.incNumOverflowBytesOnDisk(did.getValueLength());
 +              incrementBucketStats(region, -1/*InVM*/, 1/*OnDisk*/,
 +                                   did.getValueLength());
 +            }
 +          } else {
 +            if(oldKeyId < 0) {
 +              dr.incNumEntriesInVM(1L);
 +              dr.incNumOverflowOnDisk(-1L);
 +              dr.incNumOverflowBytesOnDisk(-oldValueLength);
 +              incrementBucketStats(region, 1/*InVM*/, -1/*OnDisk*/, -oldValueLength);
 +            }
            }
          }
          else {
@@@ -1769,17 -1650,13 +1656,13 @@@
                    && ((LRUEntry)entry).testEvicted()) {
                  // Moved this here to fix bug 40116.
                  region.updateSizeOnEvict(entry.getKey(), entryValSize);
 -                // note the old size was already accounted for
 -                // onDisk was already inced so just do the valueLength here
 +                dr.incNumEntriesInVM(-1);
 +                dr.incNumOverflowOnDisk(1L);
                  dr.incNumOverflowBytesOnDisk(did.getValueLength());
 -                incrementBucketStats(region, 0/*InVM*/, 0/*OnDisk*/,
 +                incrementBucketStats(region, -1/*InVM*/, 1/*OnDisk*/,
                                       did.getValueLength());
-                 try {
-                  entry.handleValueOverflow(region);
-                  entry.setValueWithContext(region,null);
-                 }finally {
-                   entry.afterValueOverflow(region);
-                 }
+                 entry.handleValueOverflow(region);
+                 entry.setValueWithContext(region,null);
                }
              } catch (RegionClearedException ignore) {
                // no need to do the op since it was clobbered by a region clear

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/259c2751/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/LocalRegion.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/259c2751/geode-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelGatewaySenderQueueOverflowDUnitTest.java
----------------------------------------------------------------------
diff --cc geode-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelGatewaySenderQueueOverflowDUnitTest.java
index 8502021,e2fe10b..fdf13f5
--- a/geode-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelGatewaySenderQueueOverflowDUnitTest.java
+++ b/geode-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelGatewaySenderQueueOverflowDUnitTest.java
@@@ -19,8 -22,11 +22,12 @@@ import static org.junit.Assert.*
  import java.io.File;
  import java.util.Properties;
  import java.util.Set;
 +import java.util.concurrent.TimeUnit;
  
+ import org.junit.Ignore;
+ import org.junit.Test;
+ import org.junit.experimental.categories.Category;
+ 
  import com.gemstone.gemfire.cache.AttributesFactory;
  import com.gemstone.gemfire.cache.CacheFactory;
  import com.gemstone.gemfire.cache.DataPolicy;
@@@ -43,7 -48,7 +49,8 @@@ import com.gemstone.gemfire.test.dunit.
  import com.gemstone.gemfire.test.dunit.LogWriterUtils;
  import com.gemstone.gemfire.test.dunit.VM;
  import com.gemstone.gemfire.test.dunit.Wait;
 +import com.jayway.awaitility.Awaitility;
+ import com.gemstone.gemfire.test.junit.categories.DistributedTest;
  
  /**
   * DUnit for ParallelSenderQueue overflow operations.