You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by es...@apache.org on 2019/08/12 22:10:19 UTC
[geode] branch feature/GEODE-7080 updated: GEODE-7080: Do not add
removed entry into offline export file.
This is an automated email from the ASF dual-hosted git repository.
eshu11 pushed a commit to branch feature/GEODE-7080
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/feature/GEODE-7080 by this push:
new 97926d3 GEODE-7080: Do not add removed entry into offline export file.
97926d3 is described below
commit 97926d3dc61821b71c8315dd976c6ed0f551f0d2
Author: eshu <es...@pivotal.io>
AuthorDate: Mon Aug 12 15:07:01 2019 -0700
GEODE-7080: Do not add removed entry into offline export file.
Co-authored-by: Donal Evans doevans@pivotal.io
---
.../geode/internal/cache/OfflineSnapshotJUnitTest.java | 12 +++++++++++-
.../java/org/apache/geode/internal/cache/DiskStoreImpl.java | 4 +++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/OfflineSnapshotJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/OfflineSnapshotJUnitTest.java
index 9e5987c..e9171b4 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/OfflineSnapshotJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/OfflineSnapshotJUnitTest.java
@@ -51,8 +51,8 @@ public class OfflineSnapshotJUnitTest {
Region<Integer, MyObject> region =
rgen.createRegion(cache, ds.getName(), rt, "test" + rcount++);
final Map<Integer, MyObject> expected = createExpected(st, 1000);
-
region.putAll(expected);
+ removeAndInvalidateKeys(region, expected);
cache.close();
DiskStoreImpl.exportOfflineSnapshot(ds.getName(), new File[] {new File(".")},
@@ -65,6 +65,16 @@ public class OfflineSnapshotJUnitTest {
}
}
+ private void removeAndInvalidateKeys(Region<Integer, MyObject> region,
+ Map<Integer, MyObject> expected) {
+ int removed = 5;
+ int invalidated = 7;
+ region.destroy(removed);
+ region.invalidate(invalidated);
+ expected.remove(removed);
+ expected.put(7, null);
+ }
+
@Test
public void testLargeFileExport() throws Exception {
int count = 10000;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java
index 0f76907..40a6890 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java
@@ -3926,7 +3926,9 @@ public class DiskStoreImpl implements DiskStore {
for (Map.Entry<Object, RecoveredEntry> re : entries.entrySet()) {
Object key = re.getKey();
Object value = re.getValue().getValue();
- writer.snapshotEntry(new SnapshotRecord(key, value));
+ if (!Token.isRemoved(value)) {
+ writer.snapshotEntry(new SnapshotRecord(key, value));
+ }
}
}