This is an automated email from the ASF dual-hosted git repository.
lihaopeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 77dfdfdd50 [Bug][pipeline] Fix regression tpcds failed in nereid
planner (#19885)
77dfdfdd50 is described below
commit 77dfdfdd50625e0164e9bb89e701399301c3c618
Author: HappenLee <[email protected]>
AuthorDate: Fri May 19 22:30:48 2023 +0800
[Bug][pipeline] Fix regression tpcds failed in nereid planner (#19885)
---
.../nereids/glue/translator/PhysicalPlanTranslator.java | 4 +---
.../java/org/apache/doris/planner/DistributedPlanner.java | 12 ++++++++----
2 files changed, 9 insertions(+), 7 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 c995e2b78d..58b4af48b9 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
@@ -146,7 +146,6 @@ import org.apache.doris.planner.UnionNode;
import org.apache.doris.planner.external.HiveScanNode;
import org.apache.doris.planner.external.HudiScanNode;
import org.apache.doris.planner.external.iceberg.IcebergScanNode;
-import org.apache.doris.qe.ConnectContext;
import org.apache.doris.tablefunction.TableValuedFunctionIf;
import org.apache.doris.thrift.TFetchOption;
import org.apache.doris.thrift.TPartitionType;
@@ -391,8 +390,7 @@ public class PhysicalPlanTranslator extends
DefaultPlanVisitor<PlanFragment, Pla
// so complex aggregate plan than legacy planner, and should add
forbid parallel scan hint when
// generate physical aggregate plan.
if (leftMostNode instanceof OlapScanNode &&
aggregate.getAggregateParam().needColocateScan) {
- currentFragment.getPlanRoot().setShouldColoScan();
-
currentFragment.setHasColocatePlanNode(!ConnectContext.get().getSessionVariable().enablePipelineEngine());
+ currentFragment.setHasColocatePlanNode(true);
}
setPlanRoot(currentFragment, aggregationNode, aggregate);
if (aggregate.getStats() != null) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/planner/DistributedPlanner.java
b/fe/fe-core/src/main/java/org/apache/doris/planner/DistributedPlanner.java
index 9519b1e6fc..561a771e3c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/DistributedPlanner.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/DistributedPlanner.java
@@ -931,12 +931,16 @@ public class DistributedPlanner {
if (isDistinct) {
return createPhase2DistinctAggregationFragment(node,
childFragment, fragments);
} else {
- if (canColocateAgg(node.getAggInfo(),
childFragment.getDataPartition())
- ||
childFragment.getPlanRoot().shouldColoAgg(node.getAggInfo())) {
+ if (canColocateAgg(node.getAggInfo(),
childFragment.getDataPartition())) {
+ childFragment.addPlanRoot(node);
+ childFragment.setHasColocatePlanNode(true);
+ return childFragment;
+ } else if
(ConnectContext.get().getSessionVariable().enablePipelineEngine()
+ &&
childFragment.getPlanRoot().shouldColoAgg(node.getAggInfo())
+ && childFragment.getPlanRoot() instanceof OlapScanNode) {
childFragment.getPlanRoot().setShouldColoScan();
childFragment.addPlanRoot(node);
- // pipeline here should use shared scan to improve performance
-
childFragment.setHasColocatePlanNode(!ConnectContext.get().getSessionVariable().enablePipelineEngine());
+ childFragment.setHasColocatePlanNode(false);
return childFragment;
} else {
return createMergeAggregationFragment(node, childFragment);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]