From 671d8f6af82c7fa32a539b7e85d1c66822be0b68 Mon Sep 17 00:00:00 2001 From: Mingyu Chen Date: Thu, 12 Aug 2021 11:50:57 +0800 Subject: [PATCH] [Bug] Return error if user failed to pause/resume a certain routine load. (#6426) When operating a single job, maintain the same behavior as before This problem is introduced by #6394. --- .../load/routineload/RoutineLoadManager.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadManager.java b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadManager.java index 7b7e62faa9..0f0a123069 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadManager.java @@ -41,14 +41,14 @@ import org.apache.doris.persist.AlterRoutineLoadJobOperationLog; import org.apache.doris.persist.RoutineLoadOperation; import org.apache.doris.qe.ConnectContext; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; @@ -286,6 +286,11 @@ public class RoutineLoadManager implements Writable { "routine load job has been paused by user").build()); } catch (UserException e) { LOG.warn("failed to pause routine load job {}", routineLoadJob.getName(), e); + // if user want to pause a certain job and failed, return error. + // if user want to pause all possible jobs, skip error jobs. + if (!pauseRoutineLoadStmt.isAll()) { + throw e; + } continue; } } @@ -316,6 +321,11 @@ public class RoutineLoadManager implements Writable { .build()); } catch (UserException e) { LOG.warn("failed to resume routine load job {}", routineLoadJob.getName(), e); + // if user want to resume a certain job and failed, return error. + // if user want to resume all possible jobs, skip error jobs. + if (!resumeRoutineLoadStmt.isAll()) { + throw e; + } continue; } }