This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit e911ccc4afe3a629df083d42794e7911c78f3dce Author: meiyi <myime...@gmail.com> AuthorDate: Sun Sep 3 10:57:38 2023 +0800 [fix](load) fix cancel load failed because Job could not be cancelled when job is finished or cancelled (#17730) --- .../src/main/java/org/apache/doris/load/loadv2/LoadManager.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java index 278e23bba5..73d4d1a57a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java @@ -270,13 +270,14 @@ public class LoadManager implements Writable { public void cancelLoadJob(CancelLoadStmt stmt) throws DdlException, AnalysisException { Database db = Env.getCurrentInternalCatalog().getDbOrDdlException(stmt.getDbName()); // List of load jobs waiting to be cancelled - List<LoadJob> matchLoadJobs = Lists.newArrayList(); + List<LoadJob> uncompletedLoadJob = Lists.newArrayList(); readLock(); try { Map<String, List<LoadJob>> labelToLoadJobs = dbIdToLabelToLoadJobs.get(db.getId()); if (labelToLoadJobs == null) { throw new DdlException("Load job does not exist"); } + List<LoadJob> matchLoadJobs = Lists.newArrayList(); addNeedCancelLoadJob(stmt, labelToLoadJobs.values().stream().flatMap(Collection::stream).collect(Collectors.toList()), matchLoadJobs); @@ -284,7 +285,7 @@ public class LoadManager implements Writable { throw new DdlException("Load job does not exist"); } // check state here - List<LoadJob> uncompletedLoadJob = + uncompletedLoadJob = matchLoadJobs.stream().filter(entity -> !entity.isTxnDone()).collect(Collectors.toList()); if (uncompletedLoadJob.isEmpty()) { throw new DdlException("There is no uncompleted job"); @@ -292,7 +293,7 @@ public class LoadManager implements Writable { } finally { readUnlock(); } - for (LoadJob loadJob : matchLoadJobs) { + for (LoadJob loadJob : uncompletedLoadJob) { try { loadJob.cancelJob(new FailMsg(FailMsg.CancelType.USER_CANCEL, "user cancel")); } catch (DdlException e) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org