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.