avijayanhwx commented on a change in pull request #1033: HDDS-1391 : Add
ability in OM to serve delta updates through an API.
URL: https://github.com/apache/hadoop/pull/1033#discussion_r307536091
##########
File path:
hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManager.java
##########
@@ -1395,8 +1397,41 @@ public void testDBKeyMayExist() throws Exception {
RDBStore rdbStore = (RDBStore) cluster.getOzoneManager()
.getMetadataManager().getStore();
RocksDB db = rdbStore.getDb();
- UserGroupInformation ugi = UserGroupInformation.getCurrentUser();
+ OmKeyInfo keyInfo = getNewOmKeyInfo();
+ OmKeyInfoCodec omKeyInfoCodec = new OmKeyInfoCodec();
+
+ db.put(StringUtils.getBytesUtf16("OMKey1"),
+ omKeyInfoCodec.toPersistedFormat(keyInfo));
+
+ StringBuilder sb = new StringBuilder();
+ Assert.assertTrue(db.keyMayExist(StringUtils.getBytesUtf16("OMKey1"),
+ sb));
+ Assert.assertTrue(sb.length() > 0);
+ }
+
+
+ @Test
+ public void testGetOMDBUpdates() throws IOException {
+
+ DBUpdatesRequest dbUpdatesRequest =
+ DBUpdatesRequest.newBuilder().setSequenceNumber(0).build();
+
+ DBUpdatesWrapper dbUpdates =
+ cluster.getOzoneManager().getDBUpdates(dbUpdatesRequest);
+ Assert.assertTrue(dbUpdates.getData().isEmpty());
+
+ //Write data to OM.
+ OmKeyInfo keyInfo = getNewOmKeyInfo();
+ Assert.assertNotNull(keyInfo);
+ dbUpdates =
+ cluster.getOzoneManager().getDBUpdates(dbUpdatesRequest);
+ Assert.assertFalse(dbUpdates.getData().isEmpty());
Review comment:
Yes, that will be difficult. The only way to do is that is to write a custom
Iterator handler for RocksDB which we have done in
org.apache.hadoop.ozone.recon.tasks.OMDBUpdatesHandler. The tests in
org.apache.hadoop.ozone.recon.tasks.TestOMDBUpdatesHandler cover the data
correctness use cases.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]