From 6d401451cc3b6ff36bf93b4959ca5d11858219e0 Mon Sep 17 00:00:00 2001 From: zhengyu Date: Wed, 20 Mar 2024 12:04:07 +0800 Subject: [PATCH] [fix](stats) sort partitions when do sample analyze (#32185) --- .../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 5e04c31571..b225abbe3d 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.security.SecureRandom; 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; @@ -254,7 +255,9 @@ public class OlapAnalysisTask extends BaseAnalysisTask { 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;