From d556ad6d7479860c255c35f33c2b7c7457c0219e Mon Sep 17 00:00:00 2001 From: kikyo Date: Fri, 17 Nov 2023 16:41:53 +0800 Subject: [PATCH] fix cancel message --- .../java/org/apache/doris/statistics/AnalysisManager.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java index a7eed48c4692fb..91f54208f6acd0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java @@ -92,7 +92,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.CountDownLatch; -import java.util.concurrent.SynchronousQueue; +import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.function.Function; @@ -677,7 +677,7 @@ private ThreadPoolExecutor createThreadPoolForSyncAnalyze() { return new ThreadPoolExecutor(0, ConnectContext.get().getSessionVariable().parallelSyncAnalyzeTaskNum, 0, TimeUnit.SECONDS, - new SynchronousQueue(), + new LinkedBlockingQueue<>(), new ThreadFactoryBuilder().setDaemon(true).setNameFormat("SYNC ANALYZE" + "-%d") .build(), new BlockedPolicy(poolName, StatisticsUtil.getAnalyzeTimeout())); @@ -831,6 +831,9 @@ public void execute(ThreadPoolExecutor executor) { LOG.warn("Thread got interrupted when waiting sync analyze task execution finished", t); } if (!colNames.isEmpty()) { + if (cancelled) { + throw new RuntimeException("Cancelled"); + } throw new RuntimeException("Failed to analyze following columns:[" + String.join(",", colNames) + "] Reasons: " + String.join(",", errorMessages)); }