swamirishi commented on code in PR #8141:
URL: https://github.com/apache/ozone/pull/8141#discussion_r2093793254


##########
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotCache.java:
##########
@@ -220,6 +246,8 @@ void cleanup() {
             LOG.debug("Closing SnapshotId {}. It is not being referenced 
anymore.", k);
             // Close the instance, which also closes its DB handle.
             try {
+              compactSnapshotDB(v.get());

Review Comment:
   We should perform this outside dbMap.compute since this can block snapshot 
reads. dbMap.compute is blocking. We can just move this above line number 235 
same level as the dbMap.compute()



##########
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/RDBStore.java:
##########
@@ -222,6 +222,22 @@ public void compactDB() throws IOException {
     }
   }
 
+  @Override
+  public void compactTable(String tableName) throws IOException {
+    try (ManagedCompactRangeOptions options = new 
ManagedCompactRangeOptions()) {
+      compactTable(tableName, options);
+    }
+  }
+
+  @Override
+  public void compactTable(String tableName, ManagedCompactRangeOptions 
options) throws IOException {
+    RocksDatabase.ColumnFamily columnFamily = db.getColumnFamily(tableName);
+    if (columnFamily == null) {
+      throw new IOException("Table not found: " + tableName);
+    }
+    db.compactRange(columnFamily, null, null, options);

Review Comment:
   We should set options.setMaxCompactionBytes() when we open the snapshot 
rocksdb this could be useful so that we ensure one sub compaction doesn't take 
up a lot of memory. Also look into making 
ManagedCompactRangeOptions.setMaxSubCompactions() configurable so that we don't 
use a lot of CPU for this operation. It is ok if the compactions take time.



-- 
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: issues-unsubscr...@ozone.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@ozone.apache.org
For additional commands, e-mail: issues-h...@ozone.apache.org

Reply via email to