This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a commit to branch mergeMaster0611
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/mergeMaster0611 by this push:
new 2c2b208d412 add WriteFragmentParallelPlanner in
TableModelDistributePlanner
2c2b208d412 is described below
commit 2c2b208d4125200c38a3e013b7b24aae28a3537a
Author: Beyyes <[email protected]>
AuthorDate: Tue Jun 11 15:43:12 2024 +0800
add WriteFragmentParallelPlanner in TableModelDistributePlanner
---
.../plan/planner/distribution/WriteFragmentParallelPlanner.java | 3 +--
.../relational/planner/distribute/TableDistributionPlanner.java | 5 ++++-
...tInstanceGenerator.java => TableModelQueryFragmentPlanner.java} | 7 ++++---
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/WriteFragmentParallelPlanner.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/WriteFragmentParallelPlanner.java
index 9bc526ee4f5..b1d1fe80123 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/WriteFragmentParallelPlanner.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/WriteFragmentParallelPlanner.java
@@ -21,7 +21,6 @@ package
org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.commons.partition.StorageExecutor;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
-import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.analyze.IAnalysis;
import org.apache.iotdb.db.queryengine.plan.planner.IFragmentParallelPlaner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.FragmentInstance;
@@ -40,7 +39,7 @@ public class WriteFragmentParallelPlanner implements
IFragmentParallelPlaner {
private MPPQueryContext queryContext;
public WriteFragmentParallelPlanner(
- SubPlan subPlan, Analysis analysis, MPPQueryContext queryContext) {
+ SubPlan subPlan, IAnalysis analysis, MPPQueryContext queryContext) {
this.subPlan = subPlan;
this.analysis = analysis;
this.queryContext = queryContext;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributionPlanner.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributionPlanner.java
index 83f1548ee3a..ccfd5b91cd0 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributionPlanner.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributionPlanner.java
@@ -17,6 +17,7 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import
org.apache.iotdb.db.queryengine.execution.exchange.sink.DownStreamChannelLocation;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
+import
org.apache.iotdb.db.queryengine.plan.planner.distribution.WriteFragmentParallelPlanner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.DistributedQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.FragmentInstance;
import org.apache.iotdb.db.queryengine.plan.planner.plan.LogicalQueryPlan;
@@ -76,7 +77,9 @@ public class TableDistributionPlanner {
subPlan.getPlanFragment().setRoot(true);
List<FragmentInstance> fragmentInstances =
- new FragmentInstanceGenerator(subPlan, analysis,
mppQueryContext).plan();
+ mppQueryContext.getQueryType() == QueryType.READ
+ ? new TableModelQueryFragmentPlanner(subPlan, analysis,
mppQueryContext).plan()
+ : new WriteFragmentParallelPlanner(subPlan, analysis,
mppQueryContext).parallelPlan();
// Only execute this step for READ operation
if (mppQueryContext.getQueryType() == QueryType.READ) {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/FragmentInstanceGenerator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableModelQueryFragmentPlanner.java
similarity index 97%
rename from
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/FragmentInstanceGenerator.java
rename to
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableModelQueryFragmentPlanner.java
index 623217e340f..2d9cf1a2b01 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/FragmentInstanceGenerator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableModelQueryFragmentPlanner.java
@@ -46,9 +46,10 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-public class FragmentInstanceGenerator {
+public class TableModelQueryFragmentPlanner {
- private static final Logger LOGGER =
LoggerFactory.getLogger(FragmentInstanceGenerator.class);
+ private static final Logger LOGGER =
+ LoggerFactory.getLogger(TableModelQueryFragmentPlanner.class);
private final SubPlan subPlan;
@@ -67,7 +68,7 @@ public class FragmentInstanceGenerator {
// Record FragmentInstances dispatched to same DataNode
private final Map<TDataNodeLocation, List<FragmentInstance>> dataNodeFIMap =
new HashMap<>();
- FragmentInstanceGenerator(SubPlan subPlan, Analysis analysis,
MPPQueryContext queryContext) {
+ TableModelQueryFragmentPlanner(SubPlan subPlan, Analysis analysis,
MPPQueryContext queryContext) {
this.subPlan = subPlan;
this.analysis = analysis;
this.queryContext = queryContext;