This is an automated email from the ASF dual-hosted git repository. yongzao pushed a commit to branch Fix-partition-table-auto-clean-IT in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c8a82f315b5fb739c53b42b76445ac19d6cab193 Author: YongzaoDan <[email protected]> AuthorDate: Sun Mar 9 12:12:09 2025 +0800 Bug fixed --- .../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); }
