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 2017/09/01 20:44:48 UTC
geode git commit: GEODE-3550: Improve snapshot filter testing
Repository: geode
Updated Branches:
refs/heads/develop fecec42fb -> d98a70108
GEODE-3550: Improve snapshot filter testing
This closes #754
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/d98a7010
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/d98a7010
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/d98a7010
Branch: refs/heads/develop
Commit: d98a70108d7b008946d41b1ac5df5d52ee77236e
Parents: fecec42
Author: Nick Reich <nr...@pivotal.io>
Authored: Thu Aug 31 16:29:23 2017 -0700
Committer: Darrel Schneider <ds...@pivotal.io>
Committed: Fri Sep 1 13:44:17 2017 -0700
----------------------------------------------------------------------
.../cache/snapshot/RegionSnapshotJUnitTest.java | 60 +++++++++++++++++++-
.../geode/cache/snapshot/SnapshotTestCase.java | 2 +-
2 files changed, 60 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/d98a7010/geode-core/src/test/java/org/apache/geode/cache/snapshot/RegionSnapshotJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache/snapshot/RegionSnapshotJUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/snapshot/RegionSnapshotJUnitTest.java
index 46c491c..1de1b03 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/snapshot/RegionSnapshotJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/snapshot/RegionSnapshotJUnitTest.java
@@ -107,7 +107,65 @@ public class RegionSnapshotJUnitTest extends SnapshotTestCase {
}
@Test
- public void testFilter() throws Exception {
+ public void testFilterOnExport() throws Exception {
+ SnapshotFilter<Integer, MyObject> odd =
+ (SnapshotFilter<Integer, MyObject>) entry -> entry.getKey() % 2 == 1;
+
+ for (final RegionType rt : RegionType.values()) {
+ for (final SerializationType st : SerializationType.values()) {
+ String name = "test-" + rt.name() + "-" + st.name();
+ Region<Integer, MyObject> region =
+ regionGenerator.createRegion(cache, diskStore.getName(), rt, name);
+ final Map<Integer, MyObject> expected = createExpected(st);
+
+ region.putAll(expected);
+ RegionSnapshotService<Integer, MyObject> rss = region.getSnapshotService();
+ SnapshotOptions<Integer, MyObject> options = rss.createOptions().setFilter(odd);
+ rss.save(snapshotFile, SnapshotFormat.GEMFIRE, options);
+
+ region.destroyRegion();
+ region = regionGenerator.createRegion(cache, diskStore.getName(), rt, name);
+
+ rss = region.getSnapshotService();
+ rss.load(snapshotFile, SnapshotFormat.GEMFIRE, rss.createOptions());
+
+ region.entrySet().forEach(entry -> assertTrue(odd.accept(entry)));
+ assertTrue("Comparison failure for " + rt.name() + "/" + st.name(), region.size() > 0);
+ }
+ }
+ }
+
+ @Test
+ public void testFilterOnImport() throws Exception {
+ SnapshotFilter<Integer, MyObject> odd =
+ (SnapshotFilter<Integer, MyObject>) entry -> entry.getKey() % 2 == 1;
+
+ for (final RegionType rt : RegionType.values()) {
+ for (final SerializationType st : SerializationType.values()) {
+ String name = "test-" + rt.name() + "-" + st.name();
+ Region<Integer, MyObject> region =
+ regionGenerator.createRegion(cache, diskStore.getName(), rt, name);
+ final Map<Integer, MyObject> expected = createExpected(st);
+
+ region.putAll(expected);
+ RegionSnapshotService<Integer, MyObject> rss = region.getSnapshotService();
+ rss.save(snapshotFile, SnapshotFormat.GEMFIRE, rss.createOptions());
+
+ region.destroyRegion();
+ region = regionGenerator.createRegion(cache, diskStore.getName(), rt, name);
+
+ rss = region.getSnapshotService();
+ SnapshotOptions<Integer, MyObject> options = rss.createOptions().setFilter(odd);
+ rss.load(snapshotFile, SnapshotFormat.GEMFIRE, options);
+
+ region.entrySet().forEach(entry -> assertTrue(odd.accept(entry)));
+ assertTrue("Comparison failure for " + rt.name() + "/" + st.name(), region.size() > 0);
+ }
+ }
+ }
+
+ @Test
+ public void testFilterOnExportAndImport() throws Exception {
SnapshotFilter<Integer, MyObject> even =
(SnapshotFilter<Integer, MyObject>) entry -> entry.getKey() % 2 == 0;
http://git-wip-us.apache.org/repos/asf/geode/blob/d98a7010/geode-core/src/test/java/org/apache/geode/cache/snapshot/SnapshotTestCase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache/snapshot/SnapshotTestCase.java b/geode-core/src/test/java/org/apache/geode/cache/snapshot/SnapshotTestCase.java
index d0040f7..25a4c17 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/snapshot/SnapshotTestCase.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/snapshot/SnapshotTestCase.java
@@ -67,7 +67,7 @@ public class SnapshotTestCase {
Map<Integer, MyObject> createExpected(SerializationType type) {
Map<Integer, MyObject> expected = new HashMap<>();
- for (int i = 0; i < 1000; i++) {
+ for (int i = 0; i < 100; i++) {
expected.put(i, regionGenerator.createData(type, i, "The number is " + i));
}
return expected;