You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2023/06/12 08:23:26 UTC
[doris] branch branch-1.2-lts updated: [fix](routine-load) fix stackoverflow bug in routine load #20704
This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
new 4c942d7e38 [fix](routine-load) fix stackoverflow bug in routine load #20704
4c942d7e38 is described below
commit 4c942d7e38dad7c405901abda800a26c974995f3
Author: morningman <mo...@163.com>
AuthorDate: Mon Jun 12 16:22:53 2023 +0800
[fix](routine-load) fix stackoverflow bug in routine load #20704
cherry-pick #20704
---
.../java/org/apache/doris/analysis/DataDescription.java | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DataDescription.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DataDescription.java
index 4755825d40..974f90ea72 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DataDescription.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DataDescription.java
@@ -729,13 +729,16 @@ public class DataDescription {
// hadoop load only supports the FunctionCallExpr
Expr child1 = predicate.getChild(1);
if (isHadoopLoad && !(child1 instanceof FunctionCallExpr)) {
- throw new AnalysisException("Hadoop load only supports the designated function. "
- + "The error mapping function is:" + child1.toSql());
+ throw new AnalysisException(
+ "Hadoop load only supports the designated function. " + "The error mapping function is:"
+ + child1.toSql());
}
- ImportColumnDesc importColumnDesc = new ImportColumnDesc(column, child1);
+ // Must clone the expr, because in routine load, the expr will be analyzed for each task.
+ Expr cloned = child1.clone();
+ ImportColumnDesc importColumnDesc = new ImportColumnDesc(column, cloned);
parsedColumnExprList.add(importColumnDesc);
- if (child1 instanceof FunctionCallExpr) {
- analyzeColumnToHadoopFunction(column, child1);
+ if (cloned instanceof FunctionCallExpr) {
+ analyzeColumnToHadoopFunction(column, cloned);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org