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);
}