From 2d41bc52339d6439380dd20f5c6e742ace7297a4 Mon Sep 17 00:00:00 2001 From: kikyo Date: Tue, 21 Nov 2023 12:23:37 +0800 Subject: [PATCH] fix mem leak --- .../org/apache/doris/statistics/AnalysisManager.java | 1 - .../apache/doris/statistics/AnalysisTaskExecutor.java | 11 ++--------- .../apache/doris/statistics/StatisticsCollector.java | 1 - 3 files changed, 2 insertions(+), 11 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 4ce59c2ac79c31..f90c4e2a4b8552 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 @@ -241,7 +241,6 @@ public AnalysisManager() { if (!Env.isCheckpointThread()) { this.taskExecutor = new AnalysisTaskExecutor(Config.statistics_simultaneously_running_task_num); this.statisticsCache = new StatisticsCache(); - taskExecutor.start(); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisTaskExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisTaskExecutor.java index 58bae9fe66b5ca..fb4530837e4afd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisTaskExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisTaskExecutor.java @@ -32,7 +32,7 @@ import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; -public class AnalysisTaskExecutor extends Thread { +public class AnalysisTaskExecutor { private static final Logger LOG = LogManager.getLogger(AnalysisTaskExecutor.class); @@ -50,19 +50,12 @@ public AnalysisTaskExecutor(int simultaneouslyRunningTaskNum) { TimeUnit.DAYS, new LinkedBlockingQueue<>(), new BlockedPolicy("Analysis Job Executor", Integer.MAX_VALUE), "Analysis Job Executor", true); + cancelExpiredTask(); } else { executors = null; } } - @Override - public void run() { - if (Env.isCheckpointThread()) { - return; - } - cancelExpiredTask(); - } - private void cancelExpiredTask() { String name = "Expired Analysis Task Killer"; Thread t = new Thread(this::doCancelExpiredJob, name); diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCollector.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCollector.java index 638db553987611..569965ff1ebc76 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCollector.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCollector.java @@ -39,7 +39,6 @@ public abstract class StatisticsCollector extends MasterDaemon { public StatisticsCollector(String name, long intervalMs, AnalysisTaskExecutor analysisTaskExecutor) { super(name, intervalMs); this.analysisTaskExecutor = analysisTaskExecutor; - analysisTaskExecutor.start(); } @Override