smengcl commented on code in PR #4935:
URL: https://github.com/apache/ozone/pull/4935#discussion_r1238806673
##########
hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/service/TestKeyDeletingService.java:
##########
@@ -446,6 +457,134 @@ public void checkDeletedTableCleanUpForSnapshot()
Assert.assertTrue(rangeKVs.size() == 0);
}
+ /*
+ Create Snap1
+ Create 20 keys
+ Create Snap2
+ Delete 20 keys
+ Create 5 keys
+ Delete 5 keys -> but stop KeyDeletingService so that keys won't be reclaimed.
+ Create snap3
+
+ Now wait for snap3 to be deepCleaned -> Deleted 5 keys should be deep
cleaned.
+ Now delete snap2 -> Wait for snap3 to be deep cleaned so deletedTable
+ of Snap3 should be empty.
+ */
+ @Test
+ public void testSnapshotDeepClean() throws Exception {
+ OzoneConfiguration conf = createConfAndInitValues();
+ OmTestManagers omTestManagers
+ = new OmTestManagers(conf);
+ KeyManager keyManager = omTestManagers.getKeyManager();
+ writeClient = omTestManagers.getWriteClient();
+ om = omTestManagers.getOzoneManager();
+ OMMetadataManager metadataManager = omTestManagers.getMetadataManager();
+ Table<String, SnapshotInfo> snapshotInfoTable =
+ om.getMetadataManager().getSnapshotInfoTable();
+ Table<String, RepeatedOmKeyInfo> deletedTable =
+ om.getMetadataManager().getDeletedTable();
+ Table<String, OmKeyInfo> keyTable =
+ om.getMetadataManager().getKeyTable(BucketLayout.DEFAULT);
+
+ KeyDeletingService keyDeletingService = keyManager.getDeletingService();
Review Comment:
```suggestion
KeyDeletingService keyDeletingService = keyManager.getDeletingService();
```
##########
hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/service/TestKeyDeletingService.java:
##########
@@ -446,6 +457,134 @@ public void checkDeletedTableCleanUpForSnapshot()
Assert.assertTrue(rangeKVs.size() == 0);
}
+ /*
+ Create Snap1
+ Create 20 keys
+ Create Snap2
+ Delete 20 keys
+ Create 5 keys
+ Delete 5 keys -> but stop KeyDeletingService so that keys won't be reclaimed.
+ Create snap3
+
+ Now wait for snap3 to be deepCleaned -> Deleted 5 keys should be deep
cleaned.
+ Now delete snap2 -> Wait for snap3 to be deep cleaned so deletedTable
+ of Snap3 should be empty.
+ */
+ @Test
Review Comment:
```suggestion
/*
* Create Snap1
* Create 20 keys
* Create Snap2
* Delete 20 keys
* Create 5 keys
* Delete 5 keys -> but stop KeyDeletingService so that keys won't be
reclaimed.
* Create snap3
*
* Now wait for snap3 to be deepCleaned -> Deleted 5 keys should be deep
cleaned.
* Now delete snap2 -> Wait for snap3 to be deep cleaned so deletedTable
* of Snap3 should be empty.
*/
@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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]