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 <guoqi...@selectdb.com> --- .../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: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org