This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 6862d2ed7d6 branch-3.0: [fix](planner) return explicit error msg when
falling back to old planner (#50677)
6862d2ed7d6 is described below
commit 6862d2ed7d6a00190ca4b33722dbda080c5bda20
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Fri May 9 10:07:01 2025 +0800
branch-3.0: [fix](planner) return explicit error msg when falling back to
old planner (#50677)
### 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.
---
.../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 f9ed71a89d8..9aff964631b 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: [email protected]
For additional commands, e-mail: [email protected]