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/16 21:47:19 UTC
[geode] branch release/1.10.0 updated: GEODE-7080: Do not add
removed entry into offline export file. (#3912)
This is an automated email from the ASF dual-hosted git repository.
eshu11 pushed a commit to branch release/1.10.0
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/release/1.10.0 by this push:
new fbe8ef5 GEODE-7080: Do not add removed entry into offline export file. (#3912)
fbe8ef5 is described below
commit fbe8ef58abd1b9cd73eb1fd4b47a08f8c4aa5515
Author: Eric Shu <es...@pivotal.io>
AuthorDate: Tue Aug 13 14:44:51 2019 -0700
GEODE-7080: Do not add removed entry into offline export file. (#3912)
* GEODE-7080: Do not add removed entry into offline export file.
Co-authored-by: Donal Evans doevans@pivotal.io
(cherry picked from commit aa33060fd099254b08a659e9d8267a9b3c236b91)
---
.../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));
+ }
}
}