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 <yangz...@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-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org