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

tanxinyu pushed a commit to branch dev/1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/dev/1.3 by this push:
     new d469c584bd1 [To dev/1.3] Fix PartitionTable auto cleaner IT #15044
d469c584bd1 is described below

commit d469c584bd1177e90792ef6c4e21bf4b5f76e8f7
Author: Yongzao <[email protected]>
AuthorDate: Sun Mar 9 17:33:32 2025 +0800

    [To dev/1.3] Fix PartitionTable auto cleaner IT #15044
---
 .../iotdb/confignode/procedure/PartitionTableAutoCleaner.java  | 10 ++++------
 .../java/org/apache/iotdb/commons/schema/ttl/TTLCache.java     |  3 +++
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/PartitionTableAutoCleaner.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/PartitionTableAutoCleaner.java
index 71dfde6932a..a4918e6bfb6 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/PartitionTableAutoCleaner.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/PartitionTableAutoCleaner.java
@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory;
 
 import java.util.List;
 import java.util.Map;
+import java.util.TreeMap;
 
 import static 
org.apache.iotdb.confignode.manager.partition.PartitionManager.CONSENSUS_WRITE_ERROR;
 
@@ -54,13 +55,10 @@ public class PartitionTableAutoCleaner<Env> extends 
InternalProcedure<Env> {
   @Override
   protected void periodicExecute(Env env) {
     List<String> databases = 
configManager.getClusterSchemaManager().getDatabaseNames();
-    Map<String, Long> databaseTTLMap =
-        configManager.getClusterSchemaManager().getTTLInfoForUpgrading();
+    Map<String, Long> databaseTTLMap = new TreeMap<>();
     for (String database : databases) {
-      long subTreeMaxTTL = 
configManager.getTTLManager().getDatabaseMaxTTL(database);
-      databaseTTLMap.put(
-          database, Math.max(subTreeMaxTTL, 
databaseTTLMap.getOrDefault(database, -1L)));
-      long databaseTTL = databaseTTLMap.get(database);
+      long databaseTTL = 
configManager.getTTLManager().getDatabaseMaxTTL(database);
+      databaseTTLMap.put(database, databaseTTL);
       if (!configManager.getPartitionManager().isDatabaseExist(database)
           || databaseTTL < 0
           || databaseTTL == Long.MAX_VALUE) {
diff --git 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/ttl/TTLCache.java
 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/ttl/TTLCache.java
index e44e2d3f37c..f7305074a95 100644
--- 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/ttl/TTLCache.java
+++ 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/ttl/TTLCache.java
@@ -290,6 +290,9 @@ public class TTLCache {
     }
 
     public CacheNode getChild(String name) {
+      if (name.startsWith("root.")) {
+        name = name.substring("root.".length());
+      }
       return children.get(name);
     }
 

Reply via email to