You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by sp...@apache.org on 2024/04/15 01:28:03 UTC

(iotdb) 01/01: add isGenerateByConsensus in PlanNode

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

spricoder pushed a commit to branch feature/leader-write
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 05a9cffdcda8286d004fd21513e7660e5a97dbe7
Author: spricoder <sp...@qq.com>
AuthorDate: Mon Apr 15 09:27:46 2024 +0800

    add isGenerateByConsensus in PlanNode
---
 .../iotdb/db/queryengine/plan/planner/plan/node/PlanNode.java    | 9 +++++++++
 .../plan/planner/plan/node/write/InsertMultiTabletsNode.java     | 6 ++++++
 .../queryengine/plan/planner/plan/node/write/InsertRowsNode.java | 6 ++++++
 .../plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java  | 6 ++++++
 4 files changed, 27 insertions(+)

diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNode.java
index 877db9bf543..0ad376bc17f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNode.java
@@ -49,6 +49,7 @@ public abstract class PlanNode implements IConsensusRequest {
   protected PlanNodeId id;
 
   protected boolean isGeneratedByPipe = false;
+  protected boolean isGeneratedByConsensus = false;
 
   protected PlanNode(PlanNodeId id) {
     requireNonNull(id, "id is null");
@@ -67,10 +68,18 @@ public abstract class PlanNode implements IConsensusRequest {
     return isGeneratedByPipe;
   }
 
+  public boolean isGeneratedByConsensus() {
+    return isGeneratedByConsensus;
+  }
+
   public void markAsGeneratedByPipe() {
     isGeneratedByPipe = true;
   }
 
+  public void markAsGeneratedByConsensus() {
+    isGeneratedByConsensus = true;
+  }
+
   public abstract List<PlanNode> getChildren();
 
   public abstract void addChild(PlanNode child);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertMultiTabletsNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertMultiTabletsNode.java
index 3ced902b404..1701aed2d1f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertMultiTabletsNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertMultiTabletsNode.java
@@ -255,6 +255,12 @@ public class InsertMultiTabletsNode extends InsertNode {
     insertTabletNodeList.forEach(InsertTabletNode::markAsGeneratedByPipe);
   }
 
+  @Override
+  public void markAsGeneratedByConsensus() {
+    isGeneratedByConsensus = true;
+    insertTabletNodeList.forEach(InsertTabletNode::markAsGeneratedByConsensus);
+  }
+
   @Override
   public boolean equals(Object o) {
     if (this == o) return true;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsNode.java
index 12e229470be..dd9da89fc21 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsNode.java
@@ -220,6 +220,12 @@ public class InsertRowsNode extends InsertNode {
     insertRowNodeList.forEach(InsertRowNode::markAsGeneratedByPipe);
   }
 
+  @Override
+  public void markAsGeneratedByConsensus() {
+    isGeneratedByConsensus = true;
+    insertRowNodeList.forEach(InsertRowNode::markAsGeneratedByConsensus);
+  }
+
   @Override
   public List<WritePlanNode> splitByPartition(Analysis analysis) {
     Map<TRegionReplicaSet, InsertRowsNode> splitMap = new HashMap<>();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java
index 5eb4592abed..38a7f047134 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java
@@ -294,6 +294,12 @@ public class InsertRowsOfOneDeviceNode extends InsertNode {
     insertRowNodeList.forEach(InsertRowNode::markAsGeneratedByPipe);
   }
 
+  @Override
+  public void markAsGeneratedByConsensus() {
+    isGeneratedByConsensus = true;
+    insertRowNodeList.forEach(InsertRowNode::markAsGeneratedByConsensus);
+  }
+
   @Override
   public boolean equals(Object o) {
     if (this == o) return true;