sashapolo commented on a change in pull request #723:
URL: https://github.com/apache/ignite-3/pull/723#discussion_r829886269
##########
File path:
modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/RocksDbTableStorageTest.java
##########
@@ -206,4 +208,74 @@ void testRestart(
assertThat(storage.getPartition(1), is(nullValue()));
assertThat(storage.getPartition(0).read(testData),
is(equalTo(testData)));
}
+
+ /**
+ * Tests that restoring a snapshot clears all previous data.
+ */
+ @Test
+ void testRestoreSnapshot() {
+ PartitionStorage partitionStorage = storage.getOrCreatePartition(0);
+
+ var testData1 = new
SimpleDataRow("foo".getBytes(StandardCharsets.UTF_8),
"bar".getBytes(StandardCharsets.UTF_8));
+ var testData2 = new
SimpleDataRow("baz".getBytes(StandardCharsets.UTF_8),
"quux".getBytes(StandardCharsets.UTF_8));
+
+ Path snapshotDir = workDir.resolve("snapshot");
+
+ partitionStorage.write(testData1);
+
+ assertThat(partitionStorage.snapshot(snapshotDir),
willBe(nullValue(Void.class)));
+
+ partitionStorage.write(testData2);
+
+ partitionStorage.restoreSnapshot(snapshotDir);
+
+ assertThat(partitionStorage.read(testData1), is(testData1));
+ assertThat(partitionStorage.read(testData2), is(nullValue()));
+ }
+
+ /**
+ * Tests that loading snapshots for one partition does not influence data
in another.
+ */
+ @Test
+ void testSnapshotIndependence() {
Review comment:
> Item 3 does not seem to have anything with snapshotting, so my
suggestion is to remove it (line 278).
I don't agree, it checks that loading a snapshot for a different partition
does not overwrite existing keys in another partition.
I'll split the test
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]