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 090a2a48a10 branch-2.1: [Fix](Job)The INSERT execution failed, but the
task record status is marked as successful. #44292 (#44443)
090a2a48a10 is described below
commit 090a2a48a10b9b8268b62a5078d4a0b290b21fb1
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Nov 22 22:49:28 2024 +0800
branch-2.1: [Fix](Job)The INSERT execution failed, but the task record
status is marked as successful. #44292 (#44443)
Cherry-picked from #44292
Co-authored-by: Calvin Kirs <[email protected]>
---
.../doris/job/extensions/insert/InsertTask.java | 30 ++++++++++++++--------
1 file changed, 19 insertions(+), 11 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/InsertTask.java
b/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/InsertTask.java
index b4f52808f4b..e7d5b8b1d54 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/InsertTask.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/InsertTask.java
@@ -22,6 +22,7 @@ import org.apache.doris.catalog.Column;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.ScalarType;
import org.apache.doris.common.util.TimeUtils;
+import org.apache.doris.common.util.Util;
import org.apache.doris.job.exception.JobException;
import org.apache.doris.job.task.AbstractTask;
import org.apache.doris.load.FailMsg;
@@ -30,6 +31,7 @@ import org.apache.doris.load.loadv2.LoadStatistic;
import org.apache.doris.nereids.parser.NereidsParser;
import
org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand;
import org.apache.doris.qe.ConnectContext;
+import org.apache.doris.qe.QueryState;
import org.apache.doris.qe.StmtExecutor;
import org.apache.doris.thrift.TCell;
import org.apache.doris.thrift.TRow;
@@ -195,10 +197,13 @@ public class InsertTask extends AbstractTask {
return;
}
command.runWithUpdateInfo(ctx, stmtExecutor, loadStatistic);
+ if (ctx.getState().getStateType() != QueryState.MysqlStateType.OK)
{
+ throw new JobException(ctx.getState().getErrorMessage());
+ }
} catch (Exception e) {
log.warn("execute insert task error, job id is {}, task id is
{},sql is {}", getJobId(),
getTaskId(), sql, e);
- throw new JobException(e);
+ throw new JobException(Util.getRootCauseMessage(e));
}
}
@@ -237,15 +242,7 @@ public class InsertTask extends AbstractTask {
trow.addToColumnValue(new TCell().setStringVal(jobName));
trow.addToColumnValue(new TCell().setStringVal(getJobId() +
LABEL_SPLITTER + getTaskId()));
trow.addToColumnValue(new
TCell().setStringVal(jobInfo.getState().name()));
- // err msg
- String errorMsg = "";
- if (failMsg != null) {
- errorMsg = failMsg.getMsg();
- }
- if (StringUtils.isNotBlank(getErrMsg())) {
- errorMsg = getErrMsg();
- }
- trow.addToColumnValue(new TCell().setStringVal(errorMsg));
+ trow.addToColumnValue(new TCell().setStringVal(getErrorMsg()));
// create time
trow.addToColumnValue(new
TCell().setStringVal(TimeUtils.longToTimeString(getCreateTimeMs())));
trow.addToColumnValue(new TCell().setStringVal(null ==
getStartTimeMs() ? ""
@@ -275,7 +272,7 @@ public class InsertTask extends AbstractTask {
trow.addToColumnValue(new TCell().setStringVal(jobName));
trow.addToColumnValue(new TCell().setStringVal(getJobId() +
LABEL_SPLITTER + getTaskId()));
trow.addToColumnValue(new TCell().setStringVal(getStatus().name()));
- trow.addToColumnValue(new TCell().setStringVal(""));
+ trow.addToColumnValue(new TCell().setStringVal(getErrorMsg()));
trow.addToColumnValue(new
TCell().setStringVal(TimeUtils.longToTimeString(getCreateTimeMs())));
trow.addToColumnValue(new TCell().setStringVal(null ==
getStartTimeMs() ? ""
: TimeUtils.longToTimeString(getStartTimeMs())));
@@ -287,4 +284,15 @@ public class InsertTask extends AbstractTask {
return trow;
}
+ private String getErrorMsg() {
+ // err msg
+ String errorMsg = "";
+ if (failMsg != null) {
+ errorMsg = failMsg.getMsg();
+ }
+ if (StringUtils.isNotBlank(getErrMsg())) {
+ errorMsg = getErrMsg();
+ }
+ return errorMsg;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]