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 95cedf3be9..3d4bad9393 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 @@ -98,6 +98,7 @@ import org.apache.doris.statistics.Histogram; import org.apache.doris.statistics.StatisticRange; import org.apache.doris.statistics.Statistics; import org.apache.doris.statistics.StatisticsBuilder; +import org.apache.doris.statistics.util.StatisticsUtil; import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; @@ -493,8 +494,13 @@ public class StatsCalculator extends DefaultPlanVisitor { ColumnStatistic cache = Config.enable_stats ? getColumnStatistic(table, colName) : ColumnStatistic.UNKNOWN; if (cache == ColumnStatistic.UNKNOWN) { if (forbidUnknownColStats) { - throw new AnalysisException("column stats for " + colName - + " is unknown, `set forbid_unknown_col_stats = false` to execute sql with unknown stats"); + if (StatisticsUtil.statsTblAvailable()) { + throw new AnalysisException("column stats for " + colName + + " is unknown," + + " `set forbid_unknown_col_stats = false` to execute sql with unknown stats"); + } else { + throw new AnalysisException("BE is not available!"); + } } columnStatisticMap.put(slotReference, cache); continue;