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 983f851fb8b [fix](Nereids) runtime filter push down failed (#28997)
983f851fb8b is described below
commit 983f851fb8b5005c8283eb5a13ed59835c4e7db2
Author: morrySnow <[email protected]>
AuthorDate: Tue Dec 26 14:13:43 2023 +0800
[fix](Nereids) runtime filter push down failed (#28997)
project child not always NamedExpression
failed msg
```
org.apache.doris.common.AnalysisException: errCode = 2, detailMessage =
class org.apache.doris.nereids.trees.expressions.literal.VarcharLiteral cannot
be cast to class org.apache.doris.nereids.trees.expressions.NamedExpression
(org.apache.doris.nereids.trees.expressions.literal.VarcharLiteral and
org.apache.doris.nereids.trees.expressions.NamedExpression are in unnamed
module of loader 'app')
at
org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:623)
~[classes/:?]
at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:478)
~[classes/:?]
at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:457)
~[classes/:?]
at
org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:245)
~[classes/:?]
at
org.apache.doris.qe.MysqlConnectProcessor.handleQuery(MysqlConnectProcessor.java:166)
~[classes/:?]
at
org.apache.doris.qe.MysqlConnectProcessor.dispatch(MysqlConnectProcessor.java:193)
~[classes/:?]
at
org.apache.doris.qe.MysqlConnectProcessor.processOnce(MysqlConnectProcessor.java:246)
~[classes/:?]
at
org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52)
~[classes/:?]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
~[?:?]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
~[?:?]
at java.lang.Thread.run(Thread.java:829) ~[?:?]
Caused by: java.lang.ClassCastException: class
org.apache.doris.nereids.trees.expressions.literal.VarcharLiteral cannot be
cast to class org.apache.doris.nereids.trees.expressions.NamedExpression
(org.apache.doris.nereids.trees.expressions.literal.VarcharLiteral and
org.apache.doris.nereids.trees.expressions.NamedExpression are in unnamed
module of loader 'app')
at
org.apache.doris.nereids.trees.plans.physical.PhysicalSetOperation.pushDownRuntimeFilter(PhysicalSetOperation.java:178)
~[classes/:?]
at
org.apache.doris.nereids.trees.plans.physical.PhysicalHashJoin.pushDownRuntimeFilter(PhysicalHashJoin.java:229)
~[classes/:?]
at
org.apache.doris.nereids.processor.post.RuntimeFilterGenerator.pushDownRuntimeFilterCommon(RuntimeFilterGenerator.java:386)
~[classes/:?]
```
---
.../apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java | 4 ++--
.../doris/nereids/trees/plans/physical/PhysicalSetOperation.java | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java
index 183ccaabfa8..5086d0f3616 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java
@@ -181,8 +181,8 @@ public class PhysicalHashJoin<
TRuntimeFilterType type, long buildSideNdv, int exprOrder) {
if (RuntimeFilterGenerator.DENIED_JOIN_TYPES.contains(getJoinType())
|| isMarkJoin()) {
if (builderNode instanceof PhysicalHashJoin) {
- PhysicalHashJoin<?, ?> builderJion = (PhysicalHashJoin<?, ?>)
builderNode;
- if (builderJion == this) {
+ PhysicalHashJoin<?, ?> builderJoin = (PhysicalHashJoin<?, ?>)
builderNode;
+ if (builderJoin == this) {
return false;
}
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSetOperation.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSetOperation.java
index ec9537e7cb9..a85e2cf67a5 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSetOperation.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSetOperation.java
@@ -173,9 +173,9 @@ public abstract class PhysicalSetOperation extends
AbstractPhysicalPlan implemen
if (projIndex < 0 || projIndex >=
project.getProjects().size()) {
continue;
}
- NamedExpression newProbeExpr =
project.getProjects().get(projIndex);
+ Expression newProbeExpr = project.getProjects().get(projIndex);
if (newProbeExpr instanceof Alias) {
- newProbeExpr = (NamedExpression) newProbeExpr.child(0);
+ newProbeExpr = newProbeExpr.child(0);
}
Slot newProbeSlot =
RuntimeFilterGenerator.checkTargetChild(newProbeExpr);
if
(!RuntimeFilterGenerator.checkPushDownPreconditionsForJoin(builderNode, ctx,
newProbeSlot)) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]