This is an automated email from the ASF dual-hosted git repository.
ycycse pushed a commit to branch ycy/planCacheDemo
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/ycy/planCacheDemo by this push:
new 395679d18e1 spotless
395679d18e1 is described below
commit 395679d18e117c8c85aa91f7dce289d88a4ec245
Author: YangCaiyin <[email protected]>
AuthorDate: Wed Apr 9 15:31:54 2025 +0800
spotless
---
.../iotdb/db/queryengine/common/MPPQueryContext.java | 2 +-
.../plan/relational/planner/PlanCacheManager.java | 8 +++++++-
.../plan/relational/planner/TableLogicalPlanner.java | 20 +++++++++++++-------
3 files changed, 21 insertions(+), 9 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
index 6b3a37e3996..71a94e1101d 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
@@ -33,6 +33,7 @@ import
org.apache.iotdb.db.queryengine.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Literal;
import org.apache.iotdb.db.queryengine.statistics.QueryPlanStatistics;
+
import org.apache.tsfile.read.filter.basic.Filter;
import java.time.ZoneId;
@@ -368,7 +369,6 @@ public class MPPQueryContext {
List<Literal> literalList;
Map<Symbol, ColumnSchema> assignments;
-
public void setAssignments(Map<Symbol, ColumnSchema> assignments) {
this.assignments = assignments;
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanCacheManager.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanCacheManager.java
index bb9f3ed0084..3c5bb35e04e 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanCacheManager.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanCacheManager.java
@@ -41,7 +41,13 @@ public class PlanCacheManager {
planCache.put(
cachedKey,
new CachedValue(
- planNodeTree, literalReference, header, symbolMap, assignments,
expressionList, columnAttributes));
+ planNodeTree,
+ literalReference,
+ header,
+ symbolMap,
+ assignments,
+ expressionList,
+ columnAttributes));
}
public CachedValue getCachedValue(String cacheKey) {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
index d40e46bb289..0bbb93d7b15 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
@@ -28,7 +28,6 @@ import
org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
import org.apache.iotdb.commons.utils.TestOnly;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
-import org.apache.iotdb.db.protocol.client.ConfigNodeClient;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
@@ -165,6 +164,7 @@ public class TableLogicalPlanner {
sb.append(queryContext.getZoneId());
return sb.toString();
}
+
private static final Logger logger =
LoggerFactory.getLogger(TableLogicalPlanner.class);
private static final IoTDBConfig CONFIG =
IoTDBDescriptor.getInstance().getConfig();
@@ -223,7 +223,7 @@ public class TableLogicalPlanner {
final long schemaFetchCost = System.nanoTime() - startTime;
QueryPlanCostMetricSet.getInstance()
- .recordPlanCost(TABLE_TYPE, SCHEMA_FETCHER, schemaFetchCost);
+ .recordPlanCost(TABLE_TYPE, SCHEMA_FETCHER, schemaFetchCost);
queryContext.setFetchSchemaCost(schemaFetchCost);
if (deviceEntries.isEmpty()) {
@@ -273,7 +273,7 @@ public class TableLogicalPlanner {
}
}
- boolean enableCache = false;
+ boolean enableCache = true;
public LogicalQueryPlan plan(final Analysis analysis) {
long startTime = System.nanoTime();
@@ -300,9 +300,12 @@ public class TableLogicalPlanner {
cachedValue.getLiteralReference().get(i).replace(literalList.get(i));
}
- logger.info("Logical plan is cached, adjustment cost time: {}",
System.nanoTime() - curTime);
+ logger.info(
+ "Logical plan is cached, adjustment cost time: {}",
System.nanoTime() - curTime);
logger.info("Logical plan is cached, cost time: {}", System.nanoTime()
- totalStartTime);
- logger.info("Logical plan is cached, fetch schema cost time: {}",
queryContext.getFetchPartitionCost() + queryContext.getFetchSchemaCost());
+ logger.info(
+ "Logical plan is cached, fetch schema cost time: {}",
+ queryContext.getFetchPartitionCost() +
queryContext.getFetchSchemaCost());
return new LogicalQueryPlan(queryContext, cachedValue.getPlanNode());
}
// Following implementation of plan should be based on the
generalizedStatement
@@ -332,7 +335,8 @@ public class TableLogicalPlanner {
warningCollector,
PlanOptimizersStatsCollector.createPlanOptimizersStatsCollector()));
}
- logger.info("Logical plan is generated, optimization cost time: {}",
System.nanoTime() - startTime);
+ logger.info(
+ "Logical plan is generated, optimization cost time: {}",
System.nanoTime() - startTime);
long logicalOptimizationCost =
System.nanoTime()
- startTime
@@ -353,7 +357,9 @@ public class TableLogicalPlanner {
queryContext.getMetaDataExpressionList(),
queryContext.getAttributeColumns());
}
- logger.info("Logical plan is generated, fetch schema cost time: {}",
queryContext.getFetchPartitionCost() + queryContext.getFetchSchemaCost());
+ logger.info(
+ "Logical plan is generated, fetch schema cost time: {}",
+ queryContext.getFetchPartitionCost() +
queryContext.getFetchSchemaCost());
logger.info("Logical plan is generated, cost time: {}", System.nanoTime()
- totalStartTime);
return new LogicalQueryPlan(queryContext, planNode);
}