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 b3e66dd6479 [improvement](statistics)Remove retry load when load stats
cache fail (#28904) (#29202)
b3e66dd6479 is described below
commit b3e66dd6479adb9e448a6e51cef6622a02197022
Author: Jibing-Li <[email protected]>
AuthorDate: Thu Dec 28 17:26:23 2023 +0800
[improvement](statistics)Remove retry load when load stats cache fail
(#28904) (#29202)
---
.../statistics/ColumnStatisticsCacheLoader.java | 42 ++--------------------
.../apache/doris/statistics/StatisticsCache.java | 4 ---
2 files changed, 2 insertions(+), 44 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatisticsCacheLoader.java
b/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatisticsCacheLoader.java
index 22f0cad9d00..08a410b8599 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatisticsCacheLoader.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatisticsCacheLoader.java
@@ -17,7 +17,6 @@
package org.apache.doris.statistics;
-import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.TableIf;
import org.apache.doris.common.ThreadPoolManager;
import org.apache.doris.qe.InternalQueryExecutionException;
@@ -64,7 +63,8 @@ public class ColumnStatisticsCacheLoader extends
StatisticsCacheLoader<Optional<
try {
columnResults = StatisticsRepository.loadColStats(key.tableId,
key.idxId, key.colName);
} catch (InternalQueryExecutionException e) {
- retryLoad(key);
+ LOG.info("Failed to load stats for table {} column {}. Reason:{}",
+ key.tableId, key.colName, e.getMessage());
return Optional.empty();
}
ColumnStatistic columnStatistics;
@@ -80,42 +80,4 @@ public class ColumnStatisticsCacheLoader extends
StatisticsCacheLoader<Optional<
return Optional.of(columnStatistics);
}
}
-
- private void retryLoad(StatisticsCacheKey key) {
- singleThreadPool.submit(new RetryTask(key, 1));
- }
-
- private static class RetryTask implements Runnable {
- StatisticsCacheKey key;
- int retryTimes;
-
- public RetryTask(StatisticsCacheKey key, int retryTimes) {
- this.key = key;
- this.retryTimes = retryTimes;
- }
-
- @Override
- public void run() {
- List<ResultRow> columnResults = null;
- try {
- columnResults = StatisticsRepository.loadColStats(key.tableId,
key.idxId, key.colName);
- } catch (InternalQueryExecutionException e) {
- if (this.retryTimes < StatisticConstants.LOAD_RETRY_TIMES) {
- retryTimes++;
- singleThreadPool.submit(this);
- }
- return;
- }
- ColumnStatistic columnStatistics;
- try {
- columnStatistics =
StatisticsUtil.deserializeToColumnStatistics(columnResults);
- } catch (Exception e) {
- LOG.warn("Exception to deserialize column statistics", e);
- return;
- }
- if (columnStatistics != null) {
- Env.getCurrentEnv().getStatisticsCache().putCache(key,
columnStatistics);
- }
- }
- }
}
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 d4b91b07364..fbec9a60fa0 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,9 +39,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.time.Duration;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ThreadPoolExecutor;
@@ -201,7 +199,6 @@ public class StatisticsCache {
if (CollectionUtils.isEmpty(recentStatsUpdatedCols)) {
return;
}
- Map<StatisticsCacheKey, ColumnStatistic> keyToColStats = new
HashMap<>();
for (ResultRow r : recentStatsUpdatedCols) {
try {
StatsId statsId = new StatsId(r);
@@ -211,7 +208,6 @@ public class StatisticsCache {
final StatisticsCacheKey k =
new StatisticsCacheKey(tblId, idxId, colId);
final ColumnStatistic c = ColumnStatistic.fromResultRow(r);
- keyToColStats.put(k, c);
putCache(k, c);
} catch (Throwable t) {
LOG.warn("Error when preheating stats cache", t);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]