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

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


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 6f84c4d7e25 branch-2.1: [fix](planner) return explicit error msg when 
falling back to old planner (#50676)
6f84c4d7e25 is described below

commit 6f84c4d7e2543d9e8f9c2a86f45dd3f331f93914
Author: Mingyu Chen (Rayner) <morning...@163.com>
AuthorDate: Thu May 8 10:31:37 2025 +0800

    branch-2.1: [fix](planner) return explicit error msg when falling back to 
old planner (#50676)
    
    ### What problem does this PR solve?
    
    Problem Summary:
    
    When fall back to old planner, the partition pruning of external table
    will fail,
    and NPE will be throw like:
    ```
    2025-04-14 16:22:33,427 WARN (mysql-nio-pool-19697|237161) 
[HiveScanNode.getSplits():189] get file split failed for table: 
dwd_log_fact_channel_track_result_hi
    java.lang.NullPointerException: null
            at 
org.apache.doris.datasource.hive.source.HiveScanNode.getPartitions(HiveScanNode.java:137)
 ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.datasource.hive.source.HiveScanNode.getSplits(HiveScanNode.java:171)
 ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.datasource.FileQueryScanNode.createScanRangeLocations(FileQueryScanNode.java:366)
 ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.datasource.FileQueryScanNode.doFinalize(FileQueryScanNode.java:222)
 ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.datasource.FileQueryScanNode.finalize(FileQueryScanNode.java:208)
 ~[doris-fe.jar:1.2-SNAPSHOT]
            at org.apache.doris.planner.PlanNode.finalize(PlanNode.java:722) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.planner.JoinNodeBase.finalize(JoinNodeBase.java:456) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at org.apache.doris.planner.PlanNode.finalize(PlanNode.java:722) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.planner.JoinNodeBase.finalize(JoinNodeBase.java:456) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at org.apache.doris.planner.PlanNode.finalize(PlanNode.java:722) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.planner.AggregationNode.finalize(AggregationNode.java:402) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at org.apache.doris.planner.PlanNode.finalize(PlanNode.java:722) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.planner.SetOperationNode.finalize(SetOperationNode.java:158) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at org.apache.doris.planner.PlanNode.finalize(PlanNode.java:722) 
~[doris-fe.jar:1.2-SNAPSHOT]
    ```
    
    This error msg is very confusing. So this PR return a more explicit
    error msg.
    
    ### Release note
    
    None
---
 .../java/org/apache/doris/datasource/hive/source/HiveScanNode.java    | 4 ++++
 1 file changed, 4 insertions(+)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java
 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java
index 8f965ddf022..0f4ab71850c 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java
@@ -134,6 +134,10 @@ public class HiveScanNode extends FileQueryScanNode {
             Collection<PartitionItem> partitionItems;
             // partitions has benn pruned by Nereids, in 
PruneFileScanPartition,
             // so just use the selected partitions.
+            if (selectedPartitions == null) {
+                throw new AnalysisException("Should use Nereids to prune 
partitions. "
+                        + "set enable_fallback_to_original_planner=false and 
try again");
+            }
             this.totalPartitionNum = selectedPartitions.totalPartitionNum;
             partitionItems = selectedPartitions.selectedPartitions.values();
             Preconditions.checkNotNull(partitionItems);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to