This is an automated email from the ASF dual-hosted git repository.

shuwenwei pushed a commit to branch table_disk_usage_statistics_with_cache
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to 
refs/heads/table_disk_usage_statistics_with_cache by this push:
     new 3f919a22eae add future
3f919a22eae is described below

commit 3f919a22eae75cb61c3820a34e0be744a171e801
Author: shuwenwei <[email protected]>
AuthorDate: Fri Jan 23 19:04:43 2026 +0800

    add future
---
 .../utils/tableDiskUsageCache/TableDiskUsageCache.java       | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/tableDiskUsageCache/TableDiskUsageCache.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/tableDiskUsageCache/TableDiskUsageCache.java
index 7e7cdb94d9f..82cd6eb4fc3 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/tableDiskUsageCache/TableDiskUsageCache.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/tableDiskUsageCache/TableDiskUsageCache.java
@@ -47,6 +47,7 @@ public class TableDiskUsageCache {
   protected final Map<Integer, DataRegionTableSizeCacheWriter> writerMap = new 
HashMap<>();
   protected final ScheduledExecutorService scheduledExecutorService;
   private int counter = 0;
+  private long nextWriterId = 0;
   protected volatile boolean failedToRecover = false;
 
   protected TableDiskUsageCache() {
@@ -176,7 +177,7 @@ public class TableDiskUsageCache {
   }
 
   protected DataRegionTableSizeCacheWriter createWriter(String database, int 
regionId) {
-    return new DataRegionTableSizeCacheWriter(database, regionId);
+    return new DataRegionTableSizeCacheWriter(database, regionId, 
nextWriterId++);
   }
 
   protected TsFileTableSizeCacheReader createTsFileCacheReader(
@@ -318,6 +319,8 @@ public class TableDiskUsageCache {
 
   private static class RegisterRegionOperation extends Operation {
 
+    private final CompletableFuture<Void> future = new CompletableFuture<>();
+
     private RegisterRegionOperation(String database, int regionId) {
       super(database, regionId);
     }
@@ -326,6 +329,7 @@ public class TableDiskUsageCache {
     public void apply(TableDiskUsageCache tableDiskUsageCache) {
       tableDiskUsageCache.writerMap.computeIfAbsent(
           regionId, regionId -> tableDiskUsageCache.createWriter(database, 
regionId));
+      future.complete(null);
     }
   }
 
@@ -372,12 +376,14 @@ public class TableDiskUsageCache {
   }
 
   protected static class DataRegionTableSizeCacheWriter {
+    protected final long writerId;
     protected final TsFileTableDiskUsageCacheWriter tsFileCacheWriter;
     protected int activeReaderNum = 0;
     protected CompletableFuture<Void> removedFuture;
 
-    protected DataRegionTableSizeCacheWriter(String database, int regionId) {
-      tsFileCacheWriter = new TsFileTableDiskUsageCacheWriter(database, 
regionId);
+    protected DataRegionTableSizeCacheWriter(String database, int regionId, 
long writerId) {
+      this.writerId = writerId;
+      this.tsFileCacheWriter = new TsFileTableDiskUsageCacheWriter(database, 
regionId);
     }
 
     public void increaseActiveReaderNum() {

Reply via email to