You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by ya...@apache.org on 2023/01/30 02:29:50 UTC
[doris] branch branch-1.2-lts updated: [enhancement](memory) reduce memory usage for failed broker loads (#15895)
This is an automated email from the ASF dual-hosted git repository.
yangzhg pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
new afafd20359 [enhancement](memory) reduce memory usage for failed broker loads (#15895)
afafd20359 is described below
commit afafd2035951a99d450ce60366054af323512ec1
Author: Zhengguo Yang <ya...@gmail.com>
AuthorDate: Mon Jan 30 10:22:31 2023 +0800
[enhancement](memory) reduce memory usage for failed broker loads (#15895)
* [enhancement](memory) reduce memory usage for failed broker loads
t # Conflicts:
---
docs/en/docs/admin-manual/config/fe-config.md | 9 +++++++++
docs/zh-CN/docs/admin-manual/config/fe-config.md | 8 ++++++++
fe/fe-common/src/main/java/org/apache/doris/common/Config.java | 6 ++++++
.../main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java | 5 ++++-
.../src/main/java/org/apache/doris/load/loadv2/LoadJob.java | 3 ++-
5 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/docs/en/docs/admin-manual/config/fe-config.md b/docs/en/docs/admin-manual/config/fe-config.md
index dd974a89b0..20cdc89a9c 100644
--- a/docs/en/docs/admin-manual/config/fe-config.md
+++ b/docs/en/docs/admin-manual/config/fe-config.md
@@ -2378,4 +2378,13 @@ MasterOnly:false
The default dir to put jdbc drivers.
+#### `max_error_tablet_of_broker_load`
+
+Default: 3;
+
+IsMutable:true
+
+MasterOnly:true
+
+Maximum number of error tablet showed in broker load.
diff --git a/docs/zh-CN/docs/admin-manual/config/fe-config.md b/docs/zh-CN/docs/admin-manual/config/fe-config.md
index e80abac136..2888279e0a 100644
--- a/docs/zh-CN/docs/admin-manual/config/fe-config.md
+++ b/docs/zh-CN/docs/admin-manual/config/fe-config.md
@@ -2440,4 +2440,12 @@ hive partition 的最大缓存数量。
用于存放默认的 jdbc drivers
+#### `max_error_tablet_of_broker_load`
+默认值:3;
+
+是否可以动态配置: true
+
+是否为 Master FE 节点独有的配置项:true
+
+broker load job 保存的失败tablet 信息的最大数量
diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
index 487cf430d8..89eb179acd 100644
--- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
+++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
@@ -1960,5 +1960,11 @@ public class Config extends ConfigBase {
*/
@ConfField(masterOnly = true)
public static int hms_events_polling_interval_ms = 10000;
+
+ /**
+ * Maximum number of error tablets showed in broker load
+ */
+ @ConfField(masterOnly = true, mutable = true)
+ public static int max_error_tablet_of_broker_load = 3;
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java
index c8c0e15e0c..c396297afd 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java
@@ -24,6 +24,7 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.Table;
import org.apache.doris.common.AnalysisException;
+import org.apache.doris.common.Config;
import org.apache.doris.common.DataQualityException;
import org.apache.doris.common.DuplicatedRequestException;
import org.apache.doris.common.LabelAlreadyUsedException;
@@ -59,6 +60,7 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.RejectedExecutionException;
+import java.util.stream.Collectors;
/**
* There are 3 steps in BrokerLoadJob: BrokerPendingTask, LoadLoadingTask, CommitAndPublishTxn.
@@ -344,7 +346,8 @@ public class BrokerLoadJob extends BulkLoadJob {
loadingStatus.setTrackingUrl(attachment.getTrackingUrl());
}
commitInfos.addAll(attachment.getCommitInfoList());
- errorTabletInfos.addAll(attachment.getErrorTabletInfos());
+ errorTabletInfos.addAll(attachment.getErrorTabletInfos().stream().limit(Config.max_error_tablet_of_broker_load)
+ .collect(Collectors.toList()));
progress = (int) ((double) finishedTaskIds.size() / idToTasks.size() * 100);
if (progress == 100) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java
index 5e9013fa34..fc74415940 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java
@@ -797,7 +797,8 @@ public abstract class LoadJob extends AbstractTxnStateChangeCallback implements
public String errorTabletsToJson() {
Map<Long, String> map = Maps.newHashMap();
- errorTabletInfos.stream().limit(3).forEach(p -> map.put(p.getTabletId(), p.getMsg()));
+ errorTabletInfos.stream().limit(Config.max_error_tablet_of_broker_load)
+ .forEach(p -> map.put(p.getTabletId(), p.getMsg()));
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
return gson.toJson(map);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org