From 499f9856e2be200172a4933895c765695b8ed15b Mon Sep 17 00:00:00 2001 From: freemandealer Date: Wed, 13 Mar 2024 16:53:21 +0800 Subject: [PATCH] [fix](analysis) sorted partition when do sample analyze Signed-off-by: freemandealer --- .../java/org/apache/doris/statistics/OlapAnalysisTask.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java index 0a99f6b32de69a..e6dd46e9fc74e2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java @@ -39,6 +39,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -250,7 +251,9 @@ protected Pair, Long> calcActualSampleTablets(boolean forPartitionCol List sampleTabletIds = new ArrayList<>(); long actualSampledRowCount = 0; boolean enough = false; - for (Partition p : olapTable.getPartitions()) { + List sortedPartitions = olapTable.getPartitions().stream().sorted( + Comparator.comparing(Partition::getName)).collect(Collectors.toList()); + for (Partition p : sortedPartitions) { MaterializedIndex materializedIndex = info.indexId == -1 ? p.getBaseIndex() : p.getIndex(info.indexId); if (materializedIndex == null) { continue;