You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2016/08/04 21:58:26 UTC
[2/4] incubator-geode git commit: fixed testVerifyStats unit tests
handling of invalid
fixed testVerifyStats unit tests handling of invalid
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/b15a64fe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/b15a64fe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/b15a64fe
Branch: refs/heads/feature/GEODE-1714
Commit: b15a64feedb267043137da6fd7273f5ed7762cf2
Parents: 22c7805
Author: Darrel Schneider <ds...@pivotal.io>
Authored: Thu Aug 4 10:42:44 2016 -0700
Committer: Darrel Schneider <ds...@pivotal.io>
Committed: Thu Aug 4 10:42:44 2016 -0700
----------------------------------------------------------------------
.../cache/DiskRegRecoveryJUnitTest.java | 33 ++++++++++----------
1 file changed, 17 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b15a64fe/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/DiskRegRecoveryJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/DiskRegRecoveryJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/DiskRegRecoveryJUnitTest.java
index 792f07e..da20763 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/DiskRegRecoveryJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/DiskRegRecoveryJUnitTest.java
@@ -26,7 +26,9 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+import com.jayway.awaitility.Awaitility;
import org.junit.Test;
import org.junit.experimental.categories.Category;
@@ -1368,7 +1370,7 @@ public class DiskRegRecoveryJUnitTest extends DiskRegionTestingBase {
DiskRegion dr = ((LocalRegion)region).getDiskRegion();
if (recovValues) {
- assertEquals(1, dr.getNumEntriesInVM());
+ waitForInVMToBe(dr, 1);
assertEquals(0, dr.getNumOverflowOnDisk());
} else {
assertEquals(0, dr.getNumEntriesInVM());
@@ -1384,13 +1386,10 @@ public class DiskRegRecoveryJUnitTest extends DiskRegionTestingBase {
region.close();
region = DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, diskProps, Scope.LOCAL);
dr = ((LocalRegion)region).getDiskRegion();
- if (recovValues) {
- assertEquals(1, dr.getNumEntriesInVM());
- assertEquals(0, dr.getNumOverflowOnDisk());
- } else {
- assertEquals(1, dr.getNumEntriesInVM());
- assertEquals(0, dr.getNumOverflowOnDisk());
- }
+ assertEquals(1, region.size());
+ // invalid entries are not inVM since they have no value
+ assertEquals(0, dr.getNumEntriesInVM());
+ assertEquals(0, dr.getNumOverflowOnDisk());
region.clear();
assertEquals(0, dr.getNumEntriesInVM());
@@ -1402,7 +1401,7 @@ public class DiskRegRecoveryJUnitTest extends DiskRegionTestingBase {
region = DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, diskProps, Scope.LOCAL);
dr = ((LocalRegion)region).getDiskRegion();
if (recovValues) {
- assertEquals(1, dr.getNumEntriesInVM());
+ waitForInVMToBe(dr, 1);
assertEquals(0, dr.getNumOverflowOnDisk());
} else {
assertEquals(0, dr.getNumEntriesInVM());
@@ -1418,13 +1417,9 @@ public class DiskRegRecoveryJUnitTest extends DiskRegionTestingBase {
region.close();
region = DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, diskProps, Scope.LOCAL);
dr = ((LocalRegion)region).getDiskRegion();
- if (recovValues) {
- assertEquals(1, dr.getNumEntriesInVM());
- assertEquals(0, dr.getNumOverflowOnDisk());
- } else {
- assertEquals(1, dr.getNumEntriesInVM());
- assertEquals(0, dr.getNumOverflowOnDisk());
- }
+ // invalid entries have not value so the are not inVM or onDisk
+ assertEquals(0, dr.getNumEntriesInVM());
+ assertEquals(0, dr.getNumOverflowOnDisk());
} finally {
if (oldValue != null) {
@@ -1435,6 +1430,12 @@ public class DiskRegRecoveryJUnitTest extends DiskRegionTestingBase {
}
}
+ private void waitForInVMToBe(final DiskRegion dr, final int expected) {
+ // values are recovered async from disk
+ Awaitility.await().pollInterval(10, TimeUnit.MILLISECONDS).pollDelay(10, TimeUnit.MILLISECONDS)
+ .atMost(30, TimeUnit.SECONDS).until(() -> assertEquals(expected, dr.getNumEntriesInVM()));
+ }
+
@Test
public void testVerifyStatsWithValues() {
basicVerifyStats(true);