This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-1.1-lts in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.1-lts by this push: new e1971e7259 [enhancement](load) make default load mem limit configurable (#12348) e1971e7259 is described below commit e1971e725962663ea5b8db099a7938cc958943d6 Author: Henry2SS <45096548+henry...@users.noreply.github.com> AuthorDate: Mon Sep 12 10:25:01 2022 +0800 [enhancement](load) make default load mem limit configurable (#12348) * make LoadMemLimit valid for broker load, stream load and routine load Co-authored-by: wuhangze <wuhan...@jd.com> --- be/src/runtime/runtime_state.cpp | 1 + fe/fe-core/src/main/java/org/apache/doris/load/Load.java | 2 +- .../main/java/org/apache/doris/load/routineload/RoutineLoadJob.java | 2 ++ fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java | 2 +- fe/fe-core/src/main/java/org/apache/doris/task/StreamLoadTask.java | 3 +++ 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/be/src/runtime/runtime_state.cpp b/be/src/runtime/runtime_state.cpp index 0446a303b0..4036a99786 100644 --- a/be/src/runtime/runtime_state.cpp +++ b/be/src/runtime/runtime_state.cpp @@ -445,6 +445,7 @@ Status RuntimeState::StartSpilling(MemTracker* mem_tracker) { } int64_t RuntimeState::get_load_mem_limit() { + // TODO: the code is abandoned, it can be deleted after v1.3 if (_query_options.__isset.load_mem_limit && _query_options.load_mem_limit > 0) { return _query_options.load_mem_limit; } else { diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/Load.java b/fe/fe-core/src/main/java/org/apache/doris/load/Load.java index f2fe394e72..c6afd572b9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/Load.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/Load.java @@ -439,7 +439,7 @@ public class Load { // resource info if (ConnectContext.get() != null) { job.setResourceInfo(ConnectContext.get().toResourceCtx()); - job.setExecMemLimit(ConnectContext.get().getSessionVariable().getMaxExecMemByte()); + job.setExecMemLimit(ConnectContext.get().getSessionVariable().getLoadMemLimit()); } // job properties diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java index ab87e4b180..296d40e550 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java @@ -290,6 +290,8 @@ public abstract class RoutineLoadJob extends AbstractTxnStateChangeCallback impl } if (stmt.getExecMemLimit() != -1) { this.execMemLimit = stmt.getExecMemLimit(); + } else if (ConnectContext.get() != null) { + this.execMemLimit = ConnectContext.get().getSessionVariable().getLoadMemLimit(); } if (stmt.getSendBatchParallelism() > 0) { this.sendBatchParallelism = stmt.getSendBatchParallelism(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java index d051c632f2..6af37a639b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java @@ -358,7 +358,7 @@ public class SessionVariable implements Serializable, Writable { public boolean forwardToMaster = true; @VariableMgr.VarAttr(name = LOAD_MEM_LIMIT) - public long loadMemLimit = 0L; + public long loadMemLimit = 2 * 1024 * 1024 * 1024L; // 2GB as default @VariableMgr.VarAttr(name = USE_V2_ROLLUP) public boolean useV2Rollup = false; diff --git a/fe/fe-core/src/main/java/org/apache/doris/task/StreamLoadTask.java b/fe/fe-core/src/main/java/org/apache/doris/task/StreamLoadTask.java index 248b7f127d..b475757653 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/task/StreamLoadTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/task/StreamLoadTask.java @@ -30,6 +30,7 @@ import org.apache.doris.common.UserException; import org.apache.doris.common.util.SqlParserUtils; import org.apache.doris.common.util.TimeUtils; import org.apache.doris.load.loadv2.LoadTask; +import org.apache.doris.qe.VariableMgr; import org.apache.doris.thrift.TFileFormatType; import org.apache.doris.thrift.TFileType; import org.apache.doris.thrift.TStreamLoadPutRequest; @@ -272,6 +273,8 @@ public class StreamLoadTask implements LoadTaskInfo { } if (request.isSetExecMemLimit()) { execMemLimit = request.getExecMemLimit(); + } else { + execMemLimit = VariableMgr.getDefaultSessionVariable().getLoadMemLimit(); } if (request.getFormatType() == TFileFormatType.FORMAT_JSON) { if (request.getJsonpaths() != null) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org