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

yiguolei pushed a commit to branch opt_memtable_speed
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/opt_memtable_speed by this 
push:
     new daa86826ac Revert "[fix](nereids) parallel instance number is set to 1 
incorrectly (#22748)" (#23106)
daa86826ac is described below

commit daa86826acab06304b62ea7bf8b979cb4322a227
Author: xzj7019 <[email protected]>
AuthorDate: Thu Aug 17 16:34:57 2023 +0800

    Revert "[fix](nereids) parallel instance number is set to 1 incorrectly 
(#22748)" (#23106)
    
    This reverts commit 8591257d7494c80fea5a0064b70d706631f9e30e.
    
    Co-authored-by: zhongjian.xzj <[email protected]>
---
 .../doris/nereids/glue/translator/PhysicalPlanTranslator.java     | 2 ++
 .../src/main/java/org/apache/doris/planner/AggregationNode.java   | 5 +++++
 .../src/main/java/org/apache/doris/planner/AssertNumRowsNode.java | 5 -----
 .../src/main/java/org/apache/doris/planner/EmptySetNode.java      | 5 -----
 fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java   | 8 +-------
 fe/fe-core/src/main/java/org/apache/doris/planner/RepeatNode.java | 5 +++++
 fe/fe-core/src/main/java/org/apache/doris/planner/SelectNode.java | 5 +++++
 fe/fe-core/src/main/java/org/apache/doris/planner/SortNode.java   | 5 +++++
 .../suites/query_p0/join/test_nestedloop_semi_anti_join.groovy    | 2 ++
 9 files changed, 25 insertions(+), 17 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java
index b2a2a99c04..4144987bae 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java
@@ -1813,6 +1813,7 @@ public class PhysicalPlanTranslator extends 
DefaultPlanVisitor<PlanFragment, Pla
         RepeatNode repeatNode = new RepeatNode(context.nextPlanNodeId(),
                 inputPlanFragment.getPlanRoot(), groupingInfo, 
repeatSlotIdList,
                 allSlotId, 
repeat.computeVirtualSlotValues(sortedVirtualSlots));
+        
repeatNode.setNumInstances(inputPlanFragment.getPlanRoot().getNumInstances());
         addPlanRoot(inputPlanFragment, repeatNode, repeat);
         updateLegacyPlanIdToPhysicalPlan(inputPlanFragment.getPlanRoot(), 
repeat);
         return inputPlanFragment;
@@ -1897,6 +1898,7 @@ public class PhysicalPlanTranslator extends 
DefaultPlanVisitor<PlanFragment, Pla
                 orderElementsIsNullableMatched,
                 bufferedTupleDesc
         );
+        
analyticEvalNode.setNumInstances(inputPlanFragment.getPlanRoot().getNumInstances());
         inputPlanFragment.addPlanRoot(analyticEvalNode);
         return inputPlanFragment;
     }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/planner/AggregationNode.java 
b/fe/fe-core/src/main/java/org/apache/doris/planner/AggregationNode.java
index 5d00144f05..446d157a2a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/AggregationNode.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/AggregationNode.java
@@ -336,6 +336,11 @@ public class AggregationNode extends PlanNode {
         aggInfo.getRefdSlots(ids);
     }
 
+    @Override
+    public int getNumInstances() {
+        return children.get(0).getNumInstances();
+    }
+
     @Override
     public Set<SlotId> computeInputSlotIds(Analyzer analyzer) throws 
NotImplementedException {
         Set<SlotId> result = Sets.newHashSet();
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/planner/AssertNumRowsNode.java 
b/fe/fe-core/src/main/java/org/apache/doris/planner/AssertNumRowsNode.java
index 84ac5520ee..c07041de9f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/AssertNumRowsNode.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/AssertNumRowsNode.java
@@ -90,9 +90,4 @@ public class AssertNumRowsNode extends PlanNode {
         msg.assert_num_rows_node.setSubqueryString(subqueryString);
         msg.assert_num_rows_node.setAssertion(assertion.toThrift());
     }
-
-    @Override
-    public int getNumInstances() {
-        return 1;
-    }
 }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/planner/EmptySetNode.java 
b/fe/fe-core/src/main/java/org/apache/doris/planner/EmptySetNode.java
index e4b3cfd226..0497fd4838 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/EmptySetNode.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/EmptySetNode.java
@@ -77,9 +77,4 @@ public class EmptySetNode extends PlanNode {
         msg.node_type = TPlanNodeType.EMPTY_SET_NODE;
     }
 
-    @Override
-    public int getNumInstances() {
-        return 1;
-    }
-
 }
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java 
b/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java
index 579b80586b..e11f674875 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java
@@ -136,12 +136,6 @@ public abstract class PlanNode extends TreeNode<PlanNode> 
implements PlanStats {
 
     //  Node should compact data.
     protected boolean compactData;
-    // Most of the plan node has the same numInstance as its (left) child, 
except some special nodes, such as
-    // 1. scan node, whose numInstance is calculated according to its data 
distribution
-    // 2. exchange node, which is gather distribution
-    // 3. union node, whose numInstance is the sum of its children's 
numInstance
-    // ...
-    // only special nodes need to call setNumInstances() and getNumInstances() 
from attribute numInstances
     protected int numInstances;
 
     // Runtime filters assigned to this node.
@@ -853,7 +847,7 @@ public abstract class PlanNode extends TreeNode<PlanNode> 
implements PlanStats {
     }
 
     public int getNumInstances() {
-        return this.children.get(0).getNumInstances();
+        return numInstances;
     }
 
     public boolean shouldColoAgg(AggregateInfo aggregateInfo) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/RepeatNode.java 
b/fe/fe-core/src/main/java/org/apache/doris/planner/RepeatNode.java
index 3c6a88cea0..e5f7e0f04d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/RepeatNode.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/RepeatNode.java
@@ -200,4 +200,9 @@ public class RepeatNode extends PlanNode {
         }
         return output.toString();
     }
+
+    @Override
+    public int getNumInstances() {
+        return children.get(0).getNumInstances();
+    }
 }
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/SelectNode.java 
b/fe/fe-core/src/main/java/org/apache/doris/planner/SelectNode.java
index a60648bcda..93bd430f2a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/SelectNode.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/SelectNode.java
@@ -107,4 +107,9 @@ public class SelectNode extends PlanNode {
         }
         return output.toString();
     }
+
+    @Override
+    public int getNumInstances() {
+        return children.get(0).getNumInstances();
+    }
 }
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/SortNode.java 
b/fe/fe-core/src/main/java/org/apache/doris/planner/SortNode.java
index 70b76fa07b..c4dbe60644 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/SortNode.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/SortNode.java
@@ -315,6 +315,11 @@ public class SortNode extends PlanNode {
                 "[" + Joiner.on(" ").join(strings) + 
"]").addValue(super.debugString()).toString();
     }
 
+    @Override
+    public int getNumInstances() {
+        return children.get(0).getNumInstances();
+    }
+
     @Override
     public Set<SlotId> computeInputSlotIds(Analyzer analyzer) throws 
NotImplementedException {
         removeUnusedExprs();
diff --git 
a/regression-test/suites/query_p0/join/test_nestedloop_semi_anti_join.groovy 
b/regression-test/suites/query_p0/join/test_nestedloop_semi_anti_join.groovy
index 61c6538217..d43d6f254f 100644
--- a/regression-test/suites/query_p0/join/test_nestedloop_semi_anti_join.groovy
+++ b/regression-test/suites/query_p0/join/test_nestedloop_semi_anti_join.groovy
@@ -77,6 +77,7 @@ suite("test_nestedloop_semi_anti_join", "query_p0") {
         select * from ${tbl1} where user_id not in (select user_id from 
${tbl2} where ${tbl1}.user_id >  ${tbl2}.user_id) order by ${tbl1}.user_id;
     """
     sql "DROP TABLE IF EXISTS ${tbl1}"
+    sql "DROP TABLE IF EXISTS ${tbl2}"
 
     sql """
         CREATE TABLE ${tbl1} (id int)
@@ -89,4 +90,5 @@ suite("test_nestedloop_semi_anti_join", "query_p0") {
     qt_nlj_left_semi "select a.id\n" +
             "from ${tbl1} a\n" +
             "join (select id from ${tbl1} where id = (select 1)) b on a.id = 
b.id"
+    sql "DROP TABLE IF EXISTS ${tbl1}"
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to