This is an automated email from the ASF dual-hosted git repository.
morrysnow 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 866644be025 [fix](memo) memo print string is checked by mistake
(#60074)
866644be025 is described below
commit 866644be025e89a1bd3fe8820e700d7cbf7daa68
Author: morrySnow <[email protected]>
AuthorDate: Wed Jan 21 15:33:57 2026 +0800
[fix](memo) memo print string is checked by mistake (#60074)
Related PR: #59600.
Problem Summary:
root cause: enforcer instance in lowest cost plan map not in enforcer
set
---
.../src/main/java/org/apache/doris/nereids/NereidsPlanner.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
index c54f2c13a6f..8a6c999e58c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
@@ -70,6 +70,7 @@ import
org.apache.doris.nereids.trees.plans.logical.LogicalOlapScan;
import org.apache.doris.nereids.trees.plans.logical.LogicalPlan;
import org.apache.doris.nereids.trees.plans.logical.LogicalSqlCache;
import org.apache.doris.nereids.trees.plans.physical.PhysicalDictionarySink;
+import org.apache.doris.nereids.trees.plans.physical.PhysicalDistribute;
import org.apache.doris.nereids.trees.plans.physical.PhysicalPlan;
import org.apache.doris.nereids.trees.plans.physical.PhysicalRelation;
import org.apache.doris.nereids.trees.plans.physical.PhysicalSqlCache;
@@ -761,7 +762,10 @@ public class NereidsPlanner extends Planner {
GroupExpression groupExpression =
rootGroup.getLowestCostPlan(physicalProperties).orElseThrow(
() -> new AnalysisException("lowestCostPlans with
physicalProperties("
+ physicalProperties + ") doesn't exist in root
group")).second;
- if (rootGroup.getEnforcers().containsKey(groupExpression)) {
+ if ((groupExpression.getPlan() instanceof PhysicalDistribute
+ && rootGroup.getEnforcerSpecs().containsKey(
+ ((PhysicalDistribute<?>)
groupExpression.getPlan()).getDistributionSpec()))
+ || rootGroup.getEnforcers().containsKey(groupExpression)) {
rootGroup.addChosenEnforcerId(groupExpression.getId().asInt());
rootGroup.addChosenEnforcerProperties(physicalProperties);
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]