From ba6219c3c33285ea3f5c4a564fd440233f4d2464 Mon Sep 17 00:00:00 2001 From: Jibing-Li <64681310+Jibing-Li@users.noreply.github.com> Date: Wed, 29 Nov 2023 20:33:29 +0800 Subject: [PATCH] [fix](stats) Fix show auto analyze missing jobs bug (#27755) --- .../apache/doris/statistics/AnalysisManager.java | 2 +- .../doris/statistics/AnalysisManagerTest.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) 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 111a711edd..7da959e6f9 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 @@ -1058,7 +1058,7 @@ public class AnalysisManager implements Writable { a -> { // DO NOTHING return null; - }, null); + }, collection); } // Remove col stats status from TableStats if failed load some col stats after analyze corresponding column so that diff --git a/fe/fe-core/src/test/java/org/apache/doris/statistics/AnalysisManagerTest.java b/fe/fe-core/src/test/java/org/apache/doris/statistics/AnalysisManagerTest.java index 9c45908068..418a33c5d7 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/statistics/AnalysisManagerTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/statistics/AnalysisManagerTest.java @@ -29,6 +29,7 @@ import org.apache.doris.common.DdlException; import org.apache.doris.statistics.AnalysisInfo.AnalysisType; import org.apache.doris.statistics.AnalysisInfo.JobType; import org.apache.doris.statistics.AnalysisInfo.ScheduleType; +import org.apache.doris.statistics.util.SimpleQueue; import org.apache.doris.statistics.util.StatisticsUtil; import com.google.common.annotations.VisibleForTesting; @@ -445,4 +446,16 @@ public class AnalysisManagerTest { Assertions.assertEquals(2, analysisManager.autoJobs.size()); } + @Test + public void testCreateSimpleQueue() { + AnalysisManager analysisManager = new AnalysisManager(); + ArrayList jobs = Lists.newArrayList(); + jobs.add(new AnalysisInfoBuilder().setJobId(1).build()); + jobs.add(new AnalysisInfoBuilder().setJobId(2).build()); + SimpleQueue simpleQueue = analysisManager.createSimpleQueue(jobs, analysisManager); + Assertions.assertEquals(2, simpleQueue.size()); + simpleQueue = analysisManager.createSimpleQueue(null, analysisManager); + Assertions.assertEquals(0, simpleQueue.size()); + } + }