diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/InternalErrorCode.java b/fe/fe-core/src/main/java/org/apache/doris/common/InternalErrorCode.java index 944f8e0486057e..86afe8234bd4da 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/InternalErrorCode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/InternalErrorCode.java @@ -35,6 +35,7 @@ public enum InternalErrorCode { TOO_MANY_FAILURE_ROWS_ERR(102), CREATE_TASKS_ERR(103), TASKS_ABORT_ERR(104), + CANNOT_RESUME_ERR(105), // for MoW table DELETE_BITMAP_LOCK_ERR(301); diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java index 8760dc4b71cf1b..e65b5c4a03dc5d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java @@ -1169,7 +1169,7 @@ public void afterAborted(TransactionState txnState, boolean txnOperated, String + " with reason: " + txnStatusChangeReasonString + " please check the jsonpaths"; updateState(JobState.PAUSED, - new ErrorReason(InternalErrorCode.TASKS_ABORT_ERR, msg), + new ErrorReason(InternalErrorCode.CANNOT_RESUME_ERR, msg), false /* not replay */); return; case OFFSET_OUT_OF_RANGE: @@ -1182,14 +1182,14 @@ public void afterAborted(TransactionState txnState, boolean txnOperated, String + " using the Alter ROUTINE LOAD command to modify it," + " and resume the job"; updateState(JobState.PAUSED, - new ErrorReason(InternalErrorCode.TASKS_ABORT_ERR, msg), + new ErrorReason(InternalErrorCode.CANNOT_RESUME_ERR, msg), false /* not replay */); return; case PAUSE: msg = "be " + taskBeId + " abort task " + "with reason: " + txnStatusChangeReasonString; updateState(JobState.PAUSED, - new ErrorReason(InternalErrorCode.TASKS_ABORT_ERR, msg), + new ErrorReason(InternalErrorCode.CANNOT_RESUME_ERR, msg), false /* not replay */); return; default: diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/ScheduleRule.java b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/ScheduleRule.java index e2eaf4d825daf1..4064229fa26a46 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/ScheduleRule.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/ScheduleRule.java @@ -63,7 +63,10 @@ public static boolean isNeedAutoSchedule(RoutineLoadJob jobRoutine) { jobRoutine.id, jobRoutine.firstResumeTimestamp, jobRoutine.autoResumeCount, jobRoutine.pauseReason == null ? "null" : jobRoutine.pauseReason.getCode().name()); } - if (jobRoutine.pauseReason != null && jobRoutine.pauseReason.getCode() == InternalErrorCode.REPLICA_FEW_ERR) { + if (jobRoutine.pauseReason != null + && jobRoutine.pauseReason.getCode() != InternalErrorCode.MANUAL_PAUSE_ERR + && jobRoutine.pauseReason.getCode() != InternalErrorCode.TOO_MANY_FAILURE_ROWS_ERR + && jobRoutine.pauseReason.getCode() != InternalErrorCode.TOO_MANY_FAILURE_ROWS_ERR) { int dead = deadBeCount(); if (dead > Config.max_tolerable_backend_down_num) { if (LOG.isDebugEnabled()) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java index e2e33ab2ae6797..8eabf0c6223517 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java @@ -1981,7 +1981,7 @@ public TStreamLoadMultiTablePutResult streamLoadMultiTablePut(TStreamLoadPutRequ try { RoutineLoadJob routineLoadJob = Env.getCurrentEnv().getRoutineLoadManager() .getRoutineLoadJobByMultiLoadTaskTxnId(request.getTxnId()); - routineLoadJob.updateState(JobState.PAUSED, new ErrorReason(InternalErrorCode.MANUAL_PAUSE_ERR, + routineLoadJob.updateState(JobState.PAUSED, new ErrorReason(InternalErrorCode.CANNOT_RESUME_ERR, "failed to get stream load plan, " + exception.getMessage()), false); } catch (UserException e) { LOG.warn("catch update routine load job error.", e);