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

kxiao 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 b8de5cfc36c [fix] (nereids) Catch exception when mv fail and fix the 
npe (#28932)
b8de5cfc36c is described below

commit b8de5cfc36cb73a0fa54bdde59eeacb6324d892b
Author: seawinde <[email protected]>
AuthorDate: Sun Dec 24 20:41:24 2023 +0800

    [fix] (nereids) Catch exception when mv fail and fix the npe (#28932)
---
 .../org/apache/doris/nereids/jobs/joinorder/hypergraph/HyperGraph.java | 3 ++-
 .../nereids/rules/exploration/mv/MaterializedViewFilterJoinRule.java   | 2 +-
 .../rules/exploration/mv/MaterializedViewFilterProjectJoinRule.java    | 2 +-
 .../nereids/rules/exploration/mv/MaterializedViewOnlyJoinRule.java     | 2 +-
 .../rules/exploration/mv/MaterializedViewProjectFilterJoinRule.java    | 2 +-
 5 files changed, 6 insertions(+), 5 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/HyperGraph.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/HyperGraph.java
index 8c678c0d2c9..e534fc1fa84 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/HyperGraph.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/HyperGraph.java
@@ -52,6 +52,7 @@ import java.util.BitSet;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 import javax.annotation.Nullable;
@@ -691,7 +692,7 @@ public class HyperGraph {
         }
         int size = t.getExpressions().size();
         for (int i = 0; i < size; i++) {
-            if 
(!expressionMap.get(t.getExpression(i)).equals(o.getExpression(i))) {
+            if (!Objects.equals(expressionMap.get(t.getExpression(i)), 
o.getExpression(i))) {
                 return false;
             }
         }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewFilterJoinRule.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewFilterJoinRule.java
index 04d5546b0a9..d1ffa522bb0 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewFilterJoinRule.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewFilterJoinRule.java
@@ -37,7 +37,7 @@ public class MaterializedViewFilterJoinRule extends 
AbstractMaterializedViewJoin
     @Override
     public List<Rule> buildRules() {
         return ImmutableList.of(
-                logicalFilter(logicalJoin(any(), any())).thenApplyMulti(ctx -> 
{
+                logicalFilter(logicalJoin(any(), 
any())).thenApplyMultiNoThrow(ctx -> {
                     LogicalFilter<LogicalJoin<Plan, Plan>> root = ctx.root;
                     return rewrite(root, ctx.cascadesContext);
                 }).toRule(RuleType.MATERIALIZED_VIEW_FILTER_JOIN));
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewFilterProjectJoinRule.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewFilterProjectJoinRule.java
index 4ebee36585d..2c9cca199de 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewFilterProjectJoinRule.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewFilterProjectJoinRule.java
@@ -38,7 +38,7 @@ public class MaterializedViewFilterProjectJoinRule extends 
AbstractMaterializedV
     @Override
     public List<Rule> buildRules() {
         return ImmutableList.of(
-                logicalFilter(logicalProject(logicalJoin(any(), 
any()))).thenApplyMulti(ctx -> {
+                logicalFilter(logicalProject(logicalJoin(any(), 
any()))).thenApplyMultiNoThrow(ctx -> {
                     LogicalFilter<LogicalProject<LogicalJoin<Plan, Plan>>> 
root = ctx.root;
                     return rewrite(root, ctx.cascadesContext);
                 }).toRule(RuleType.MATERIALIZED_VIEW_FILTER_PROJECT_JOIN));
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewOnlyJoinRule.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewOnlyJoinRule.java
index cf2b246cd1d..a9f8333f4df 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewOnlyJoinRule.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewOnlyJoinRule.java
@@ -36,7 +36,7 @@ public class MaterializedViewOnlyJoinRule extends 
AbstractMaterializedViewJoinRu
     @Override
     public List<Rule> buildRules() {
         return ImmutableList.of(
-                logicalJoin(any(), any()).thenApplyMulti(ctx -> {
+                logicalJoin(any(), any()).thenApplyMultiNoThrow(ctx -> {
                     LogicalJoin<Plan, Plan> root = ctx.root;
                     return rewrite(root, ctx.cascadesContext);
                 }).toRule(RuleType.MATERIALIZED_VIEW_ONLY_JOIN));
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewProjectFilterJoinRule.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewProjectFilterJoinRule.java
index 442a07d06a7..e97a5378b83 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewProjectFilterJoinRule.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewProjectFilterJoinRule.java
@@ -38,7 +38,7 @@ public class MaterializedViewProjectFilterJoinRule extends 
AbstractMaterializedV
     @Override
     public List<Rule> buildRules() {
         return ImmutableList.of(
-                logicalProject(logicalFilter(logicalJoin(any(), 
any()))).thenApplyMulti(ctx -> {
+                logicalProject(logicalFilter(logicalJoin(any(), 
any()))).thenApplyMultiNoThrow(ctx -> {
                     LogicalProject<LogicalFilter<LogicalJoin<Plan, Plan>>> 
root = ctx.root;
                     return rewrite(root, ctx.cascadesContext);
                 }).toRule(RuleType.MATERIALIZED_VIEW_PROJECT_FILTER_JOIN));


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

Reply via email to