This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new 373b024b141 [opt](nereids) Branch-2.0: remove partition & histogram
from col stats to reduce memory usage #27885 (#27896)
373b024b141 is described below
commit 373b024b1413324a5f6625a5048d41fd88b12231
Author: minghong <[email protected]>
AuthorDate: Sat Dec 2 18:03:31 2023 +0800
[opt](nereids) Branch-2.0: remove partition & histogram from col stats to
reduce memory usage #27885 (#27896)
---
.../doris/nereids/stats/ExpressionEstimation.java | 4 +-
.../doris/nereids/stats/FilterEstimation.java | 113 ---------------------
.../doris/nereids/stats/StatsCalculator.java | 22 ----
.../apache/doris/statistics/ColumnStatistic.java | 36 +------
.../doris/statistics/ColumnStatisticBuilder.java | 37 +------
.../apache/doris/statistics/StatisticsCache.java | 43 --------
.../doris/nereids/util/HyperGraphBuilder.java | 4 +-
.../org/apache/doris/statistics/CacheTest.java | 2 +-
.../doris/statistics/StatsDeriveResultTest.java | 4 +-
9 files changed, 12 insertions(+), 253 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/ExpressionEstimation.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/ExpressionEstimation.java
index aa1903e7b37..f231126417e 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/ExpressionEstimation.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/ExpressionEstimation.java
@@ -417,7 +417,6 @@ public class ExpressionEstimation extends
ExpressionVisitor<ColumnStatistic, Sta
ColumnStatistic rightStats = cp.right().accept(this, context);
return new ColumnStatisticBuilder(leftStats)
.setNumNulls(StatsMathUtil.maxNonNaN(leftStats.numNulls,
rightStats.numNulls))
- .setHistogram(null)
.setNdv(2).build();
}
@@ -430,7 +429,7 @@ public class ExpressionEstimation extends
ExpressionVisitor<ColumnStatistic, Sta
ColumnStatistic columnStatistic = childExprs.get(i).accept(this,
context);
maxNull = StatsMathUtil.maxNonNaN(maxNull,
columnStatistic.numNulls);
}
- return new
ColumnStatisticBuilder(firstChild).setNumNulls(maxNull).setNdv(2).setHistogram(null).build();
+ return new
ColumnStatisticBuilder(firstChild).setNumNulls(maxNull).setNdv(2).build();
}
@Override
@@ -707,7 +706,6 @@ public class ExpressionEstimation extends
ExpressionVisitor<ColumnStatistic, Sta
.setMinValue(0)
.setMaxValue(1)
.setNumNulls(0)
- .setHistogram(null)
.setAvgSizeByte(random.getDataType().width())
.setDataSize(random.getDataType().width() *
context.getRowCount()).build();
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java
index a412ff375fd..0a7d6b70c39 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java
@@ -40,11 +40,8 @@ import
org.apache.doris.nereids.trees.expressions.SlotReference;
import org.apache.doris.nereids.trees.expressions.functions.Function;
import org.apache.doris.nereids.trees.expressions.literal.Literal;
import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.statistics.Bucket;
import org.apache.doris.statistics.ColumnStatistic;
import org.apache.doris.statistics.ColumnStatisticBuilder;
-import org.apache.doris.statistics.Histogram;
-import org.apache.doris.statistics.HistogramBuilder;
import org.apache.doris.statistics.StatisticRange;
import org.apache.doris.statistics.Statistics;
import org.apache.doris.statistics.StatisticsBuilder;
@@ -52,7 +49,6 @@ import org.apache.doris.statistics.StatisticsBuilder;
import com.google.common.base.Preconditions;
import com.google.common.collect.Sets;
-import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.function.Predicate;
@@ -180,10 +176,6 @@ public class FilterEstimation extends
ExpressionVisitor<Statistics, EstimationCo
private Statistics updateLessThanLiteral(Expression leftExpr,
ColumnStatistic statsForLeft,
ColumnStatistic statsForRight, EstimationContext context, boolean
contains) {
- if (statsForLeft.hasHistogram()) {
- return estimateLessThanLiteralWithHistogram(leftExpr, statsForLeft,
- statsForRight.maxValue, context, contains);
- }
StatisticRange rightRange = new StatisticRange(statsForLeft.minValue,
statsForLeft.minExpr,
statsForRight.maxValue, statsForRight.maxExpr,
statsForLeft.ndv, leftExpr.getDataType());
@@ -194,10 +186,6 @@ public class FilterEstimation extends
ExpressionVisitor<Statistics, EstimationCo
private Statistics updateGreaterThanLiteral(Expression leftExpr,
ColumnStatistic statsForLeft,
ColumnStatistic statsForRight, EstimationContext context, boolean
contains) {
- if (statsForLeft.hasHistogram()) {
- return estimateGreaterThanLiteralWithHistogram(leftExpr,
statsForLeft,
- statsForRight.minValue, context, contains);
- }
StatisticRange rightRange = new StatisticRange(statsForRight.minValue,
statsForRight.minExpr,
statsForLeft.maxValue, statsForLeft.maxExpr,
statsForLeft.ndv, leftExpr.getDataType());
@@ -237,10 +225,6 @@ public class FilterEstimation extends
ExpressionVisitor<Statistics, EstimationCo
} else {
selectivity = StatsMathUtil.minNonNaN(1.0, 1.0 / ndv);
}
- if (statsForLeft.hasHistogram()) {
- return estimateEqualToWithHistogram(cp.left(), statsForLeft, val,
context);
- }
-
Statistics equalStats = context.statistics.withSel(selectivity);
Expression left = cp.left();
equalStats.addColumnStats(left, statsForRight);
@@ -569,103 +553,6 @@ public class FilterEstimation extends
ExpressionVisitor<Statistics, EstimationCo
.addColumnStats(rightExpr, rightColumnStatistic);
}
- private Statistics estimateLessThanLiteralWithHistogram(Expression
leftExpr, ColumnStatistic leftStats,
- double numVal, EstimationContext context, boolean contains) {
- Histogram leftHist = leftStats.histogram;
-
- for (int i = 0; i < leftHist.buckets.size(); i++) {
- Bucket bucket = leftHist.buckets.get(i);
- if (bucket.upper >= numVal && bucket.lower <= numVal) {
- double overlapPercentInBucket;
- if (numVal == bucket.upper && numVal == bucket.lower) {
- if (contains) {
- overlapPercentInBucket = 1;
- } else {
- overlapPercentInBucket = 0;
- }
- } else {
- overlapPercentInBucket = StatsMathUtil.minNonNaN(1,
(numVal - bucket.lower)
- / (bucket.upper - bucket.lower));
- }
- double overlapCountInBucket = overlapPercentInBucket *
bucket.count;
- double sel = StatsMathUtil.minNonNaN(1, (bucket.preSum +
overlapCountInBucket)
- /
StatsMathUtil.nonZeroDivisor(context.statistics.getRowCount()));
- List<Bucket> updatedBucketList = leftHist.buckets.subList(0, i
+ 1);
- updatedBucketList.add(new Bucket(bucket.lower, numVal,
overlapCountInBucket,
- bucket.preSum, overlapPercentInBucket * bucket.ndv));
- ColumnStatistic columnStatistic = new
ColumnStatisticBuilder(leftStats)
- .setMaxValue(numVal)
- .setHistogram(new
HistogramBuilder(leftHist).setBuckets(updatedBucketList).build())
- .build();
- context.addKeyIfSlot(leftExpr);
- return
context.statistics.withSel(sel).addColumnStats(leftExpr, columnStatistic);
- }
- }
- return context.statistics.withSel(0);
- }
-
- private Statistics estimateGreaterThanLiteralWithHistogram(Expression
leftExpr, ColumnStatistic leftStats,
- double numVal, EstimationContext context, boolean contains) {
- Histogram leftHist = leftStats.histogram;
-
- for (int i = 0; i < leftHist.buckets.size(); i++) {
- Bucket bucket = leftHist.buckets.get(i);
- if (bucket.upper >= numVal && bucket.lower <= numVal) {
- double overlapPercentInBucket;
- if (numVal == bucket.upper && numVal == bucket.lower) {
- if (contains) {
- overlapPercentInBucket = 1;
- } else {
- overlapPercentInBucket = 0;
- }
- } else {
- overlapPercentInBucket = StatsMathUtil.minNonNaN(1,
((bucket.upper - numVal)
- / (bucket.upper - bucket.lower)));
- }
- double overlapCountInBucket = overlapPercentInBucket *
bucket.count;
- double sel = StatsMathUtil.minNonNaN(1,
- (leftHist.size() - bucket.preSum - (bucket.count -
overlapCountInBucket))
- / context.statistics.getRowCount());
- List<Bucket> updatedBucketList = new ArrayList<>();
- updatedBucketList.add(new Bucket(numVal, bucket.upper,
overlapPercentInBucket * bucket.count,
- 0, overlapPercentInBucket * bucket.ndv));
- updatedBucketList.addAll(leftHist.buckets.subList(i,
leftHist.buckets.size()));
- ColumnStatistic columnStatistic = new
ColumnStatisticBuilder(leftStats)
- .setMaxValue(numVal)
- .setHistogram(new
HistogramBuilder(leftHist).setBuckets(updatedBucketList).build())
- .build();
- context.addKeyIfSlot(leftExpr);
- return
context.statistics.withSel(sel).addColumnStats(leftExpr, columnStatistic);
- }
- }
- return context.statistics.withSel(0);
- }
-
- private Statistics estimateEqualToWithHistogram(Expression leftExpr,
ColumnStatistic leftStats,
- double numVal, EstimationContext context) {
- Histogram histogram = leftStats.histogram;
-
- double sel = 0;
- for (int i = 0; i < histogram.buckets.size(); i++) {
- Bucket bucket = histogram.buckets.get(i);
- if (bucket.upper >= numVal && bucket.lower <= numVal) {
- sel = (bucket.count / bucket.ndv) / histogram.size();
- }
- }
- if (sel == 0) {
- return Statistics.zero(context.statistics);
- }
- ColumnStatistic columnStatistic = new ColumnStatisticBuilder(leftStats)
- .setHistogram(null)
- .setNdv(1)
- .setNumNulls(0)
- .setMaxValue(numVal)
- .setMinValue(numVal)
- .build();
- context.addKeyIfSlot(leftExpr);
- return context.statistics.withSel(sel).addColumnStats(leftExpr,
columnStatistic);
- }
-
@Override
public Statistics visitLike(Like like, EstimationContext context) {
StatisticsBuilder statsBuilder = new
StatisticsBuilder(context.statistics);
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
index 4f626948407..ba7d551a4ef 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
@@ -599,17 +599,6 @@ public class StatsCalculator extends
DefaultPlanVisitor<Statistics, Void> {
}
}
- private Histogram getColumnHistogram(TableIf table, String colName) {
- // if (totalHistogramMap.get(table.getName() + colName) != null) {
- // return totalHistogramMap.get(table.getName() + colName);
- // } else if (isPlayNereidsDump) {
- // return null;
- // } else {
- // return
Env.getCurrentEnv().getStatisticsCache().getHistogram(table.getId(), colName);
- // }
- return null;
- }
-
// TODO: 1. Subtract the pruned partition
// 2. Consider the influence of runtime filter
// 3. Get NDV and column data size from StatisticManger,
StatisticManager doesn't support it now.
@@ -641,17 +630,6 @@ public class StatsCalculator extends
DefaultPlanVisitor<Statistics, Void> {
}
if (!cache.isUnKnown) {
rowCount = Math.max(rowCount, cache.count);
- Histogram histogram = getColumnHistogram(table, colName);
- if (histogram != null) {
- ColumnStatisticBuilder columnStatisticBuilder =
- new
ColumnStatisticBuilder(cache).setHistogram(histogram);
- cache = columnStatisticBuilder.build();
- if
(ConnectContext.get().getSessionVariable().isEnableMinidump()
- &&
!ConnectContext.get().getSessionVariable().isPlayNereidsDump()) {
- totalColumnStatisticMap.put(table.getName() + ":" +
colName, cache);
- totalHistogramMap.put(table.getName() + colName,
histogram);
- }
- }
}
columnStatisticMap.put(slotReference, cache);
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java
b/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java
index 5ea1f9097bb..5637455b172 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java
@@ -19,7 +19,6 @@ package org.apache.doris.statistics;
import org.apache.doris.analysis.LiteralExpr;
import org.apache.doris.catalog.Column;
-import org.apache.doris.catalog.PartitionInfo;
import org.apache.doris.catalog.Type;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.datasource.InternalCatalog;
@@ -89,21 +88,12 @@ public class ColumnStatistic {
public final LiteralExpr minExpr;
public final LiteralExpr maxExpr;
- @SerializedName("histogram")
- // assign value when do stats estimation.
- public final Histogram histogram;
-
- @SerializedName("partitionIdToColStats")
- public final Map<String, ColumnStatistic> partitionIdToColStats = new
HashMap<>();
-
public final String updatedTime;
- public final PartitionInfo partitionInfo;
-
public ColumnStatistic(double count, double ndv, ColumnStatistic original,
double avgSizeByte,
double numNulls, double dataSize, double minValue, double maxValue,
- LiteralExpr minExpr, LiteralExpr maxExpr, boolean isUnKnown,
Histogram histogram,
- String updatedTime, PartitionInfo partitionInfo) {
+ LiteralExpr minExpr, LiteralExpr maxExpr, boolean isUnKnown,
+ String updatedTime) {
this.count = count;
this.ndv = ndv;
this.original = original;
@@ -115,9 +105,7 @@ public class ColumnStatistic {
this.minExpr = minExpr;
this.maxExpr = maxExpr;
this.isUnKnown = isUnKnown;
- this.histogram = histogram;
this.updatedTime = updatedTime;
- this.partitionInfo = partitionInfo;
}
public static ColumnStatistic fromResultRow(List<ResultRow> resultRows) {
@@ -139,7 +127,6 @@ public class ColumnStatistic {
if (columnStatistic == null) {
return ColumnStatistic.UNKNOWN;
}
- columnStatistic.partitionIdToColStats.putAll(partitionIdToColStats);
return columnStatistic;
}
@@ -242,7 +229,7 @@ public class ColumnStatistic {
public ColumnStatistic updateBySelectivity(double selectivity, double
rowCount) {
if (isUnKnown) {
- return UNKNOWN;
+ return this;
}
ColumnStatisticBuilder builder = new ColumnStatisticBuilder(this);
Double rowsAfterFilter = rowCount * selectivity;
@@ -324,7 +311,6 @@ public class ColumnStatistic {
statistic.put("MinExpr", minExpr);
statistic.put("MaxExpr", maxExpr);
statistic.put("IsUnKnown", isUnKnown);
- statistic.put("Histogram", Histogram.serializeToJson(histogram));
statistic.put("Original", original);
statistic.put("LastUpdatedTime", updatedTime);
return statistic;
@@ -374,8 +360,7 @@ public class ColumnStatistic {
null,
null,
stat.getBoolean("IsUnKnown"),
- Histogram.deserializeFromJson(stat.getString("Histogram")),
- stat.getString("LastUpdatedTime"), null
+ stat.getString("LastUpdatedTime")
);
}
@@ -383,10 +368,6 @@ public class ColumnStatistic {
return Double.isInfinite(maxValue) || Double.isInfinite(minValue);
}
- public boolean hasHistogram() {
- return histogram != null && histogram != Histogram.UNKNOWN;
- }
-
public double getOriginalNdv() {
if (original != null) {
return original.ndv;
@@ -394,16 +375,7 @@ public class ColumnStatistic {
return ndv;
}
- // TODO expanded this function to support more cases, help to compute the
change of ndv density
- public boolean rangeChanged() {
- return original != null && (minValue != original.minValue || maxValue
!= original.maxValue);
- }
-
public boolean isUnKnown() {
return isUnKnown;
}
-
- public void putPartStats(String partId, ColumnStatistic columnStatistic) {
- this.partitionIdToColStats.put(partId, columnStatistic);
- }
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatisticBuilder.java
b/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatisticBuilder.java
index f97459555c8..f8ed6a1b6ab 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatisticBuilder.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatisticBuilder.java
@@ -18,10 +18,6 @@
package org.apache.doris.statistics;
import org.apache.doris.analysis.LiteralExpr;
-import org.apache.doris.catalog.PartitionInfo;
-
-import java.util.HashMap;
-import java.util.Map;
public class ColumnStatisticBuilder {
private double count;
@@ -36,28 +32,13 @@ public class ColumnStatisticBuilder {
private boolean isUnknown;
- private Histogram histogram;
-
private ColumnStatistic original;
- private Map<String, ColumnStatistic> partitionIdToColStats = new
HashMap<>();
-
private String updatedTime;
- private PartitionInfo partitionInfo;
-
public ColumnStatisticBuilder() {
}
- public PartitionInfo getPartitionInfo() {
- return partitionInfo;
- }
-
- public ColumnStatisticBuilder setPartitionInfo(PartitionInfo
partitionInfo) {
- this.partitionInfo = partitionInfo;
- return this;
- }
-
public ColumnStatisticBuilder(ColumnStatistic columnStatistic) {
this.count = columnStatistic.count;
this.ndv = columnStatistic.ndv;
@@ -69,11 +50,8 @@ public class ColumnStatisticBuilder {
this.minExpr = columnStatistic.minExpr;
this.maxExpr = columnStatistic.maxExpr;
this.isUnknown = columnStatistic.isUnKnown;
- this.histogram = columnStatistic.histogram;
this.original = columnStatistic.original;
-
this.partitionIdToColStats.putAll(columnStatistic.partitionIdToColStats);
this.updatedTime = columnStatistic.updatedTime;
- this.partitionInfo = columnStatistic.partitionInfo;
}
public ColumnStatisticBuilder setCount(double count) {
@@ -171,15 +149,6 @@ public class ColumnStatisticBuilder {
return isUnknown;
}
- public Histogram getHistogram() {
- return histogram;
- }
-
- public ColumnStatisticBuilder setHistogram(Histogram histogram) {
- this.histogram = histogram;
- return this;
- }
-
public String getUpdatedTime() {
return updatedTime;
}
@@ -194,13 +163,11 @@ public class ColumnStatisticBuilder {
if (original == null && !isUnknown) {
original = new ColumnStatistic(count, ndv, null, avgSizeByte,
numNulls,
dataSize, minValue, maxValue, minExpr, maxExpr,
- isUnknown, histogram, updatedTime, partitionInfo);
- original.partitionIdToColStats.putAll(partitionIdToColStats);
+ isUnknown, updatedTime);
}
ColumnStatistic colStats = new ColumnStatistic(count, ndv, original,
avgSizeByte, numNulls,
dataSize, minValue, maxValue, minExpr, maxExpr,
- isUnknown, histogram, updatedTime, partitionInfo);
- colStats.partitionIdToColStats.putAll(partitionIdToColStats);
+ isUnknown, updatedTime);
return colStats;
}
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCache.java
b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCache.java
index c9b049a8cfc..84110d5bda1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCache.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCache.java
@@ -39,11 +39,9 @@ import org.apache.logging.log4j.Logger;
import java.time.Duration;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -205,11 +203,6 @@ public class StatisticsCache {
LOG.warn("Error when preheating stats cache", t);
}
}
- try {
- loadPartStats(keyToColStats);
- } catch (Exception e) {
- LOG.warn("Fucka", e);
- }
}
/**
@@ -262,40 +255,4 @@ public class StatisticsCache {
f.obtrudeValue(Optional.of(c));
columnStatisticsCache.put(k, f);
}
-
- private void loadPartStats(Map<StatisticsCacheKey, ColumnStatistic>
keyToColStats) {
- final int batchSize = Config.expr_children_limit;
- Set<StatisticsCacheKey> keySet = new HashSet<>();
- for (StatisticsCacheKey statisticsCacheKey : keyToColStats.keySet()) {
- if (keySet.size() < batchSize - 1) {
- keySet.add(statisticsCacheKey);
- } else {
- List<ResultRow> partStats =
StatisticsRepository.loadPartStats(keySet);
- addPartStatsToColStats(keyToColStats, partStats);
- keySet = new HashSet<>();
- }
- }
- if (!keySet.isEmpty()) {
- List<ResultRow> partStats =
StatisticsRepository.loadPartStats(keySet);
- addPartStatsToColStats(keyToColStats, partStats);
- }
- }
-
- private void addPartStatsToColStats(Map<StatisticsCacheKey,
ColumnStatistic> keyToColStats,
- List<ResultRow> partsStats) {
- for (ResultRow r : partsStats) {
- try {
- StatsId statsId = new StatsId(r);
- long tblId = statsId.tblId;
- long idxId = statsId.idxId;
- String partId = statsId.partId;
- String colId = statsId.colId;
- ColumnStatistic partStats = ColumnStatistic.fromResultRow(r);
- keyToColStats.get(new StatisticsCacheKey(tblId, idxId,
colId)).putPartStats(partId, partStats);
- } catch (Throwable t) {
- LOG.warn("Failed to deserialized part stats", t);
- }
- }
- }
-
}
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/nereids/util/HyperGraphBuilder.java
b/fe/fe-core/src/test/java/org/apache/doris/nereids/util/HyperGraphBuilder.java
index e33c28ae933..792d03697ae 100644
---
a/fe/fe-core/src/test/java/org/apache/doris/nereids/util/HyperGraphBuilder.java
+++
b/fe/fe-core/src/test/java/org/apache/doris/nereids/util/HyperGraphBuilder.java
@@ -341,8 +341,8 @@ public class HyperGraphBuilder {
for (Slot slot : scanPlan.getOutput()) {
slotIdToColumnStats.put(slot,
new ColumnStatistic(count, count, null, 1, 0, 0, 0,
- count, null, null, true, null,
- new Date().toString(), null));
+ count, null, null, true,
+ new Date().toString()));
}
return new Statistics(count, slotIdToColumnStats);
}
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/statistics/CacheTest.java
b/fe/fe-core/src/test/java/org/apache/doris/statistics/CacheTest.java
index cde8d20177f..587a5b859a1 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/statistics/CacheTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/statistics/CacheTest.java
@@ -266,7 +266,7 @@ public class CacheTest extends TestWithFeService {
table.getColumnStatistic("col");
result = new ColumnStatistic(1, 2,
null, 3, 4, 5, 6, 7,
- null, null, false, null, new Date().toString(), null);
+ null, null, false, new Date().toString());
}
};
try {
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/statistics/StatsDeriveResultTest.java
b/fe/fe-core/src/test/java/org/apache/doris/statistics/StatsDeriveResultTest.java
index a1ff5b13587..c3f04bccfc8 100644
---
a/fe/fe-core/src/test/java/org/apache/doris/statistics/StatsDeriveResultTest.java
+++
b/fe/fe-core/src/test/java/org/apache/doris/statistics/StatsDeriveResultTest.java
@@ -29,8 +29,8 @@ public class StatsDeriveResultTest {
public void testUpdateRowCountByLimit() {
StatsDeriveResult stats = new StatsDeriveResult(100);
ColumnStatistic a = new ColumnStatistic(100, 10, null, 1, 5, 10,
- 1, 100, null, null, false, null,
- new Date().toString(), null);
+ 1, 100, null, null, false,
+ new Date().toString());
Id id = new Id(1);
stats.addColumnStats(id, a);
StatsDeriveResult res = stats.updateByLimit(0);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]