This is an automated email from the ASF dual-hosted git repository.

zhangchen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 0523860877 [Enhancement](streamload) print profile for streamload 
(#18015)
0523860877 is described below

commit 0523860877a95c728a6de6f35605436a74be88a8
Author: gitccl <60637740+git...@users.noreply.github.com>
AuthorDate: Fri Mar 24 20:17:33 2023 +0800

    [Enhancement](streamload) print profile for streamload (#18015)
    
    When both enable_profile and enable_stream_load_profile_log is true, stream 
load profile is printed to the log
---
 be/src/common/config.h                                            | 2 ++
 be/src/http/action/stream_load.cpp                                | 8 ++++++++
 docs/en/docs/admin-manual/config/be-config.md                     | 7 +++++++
 docs/zh-CN/docs/admin-manual/config/be-config.md                  | 7 +++++++
 .../src/main/java/org/apache/doris/planner/StreamLoadPlanner.java | 2 ++
 5 files changed, 26 insertions(+)

diff --git a/be/src/common/config.h b/be/src/common/config.h
index 2b279432d3..7e3a5d9431 100644
--- a/be/src/common/config.h
+++ b/be/src/common/config.h
@@ -418,6 +418,8 @@ CONF_mInt32(stream_load_record_batch_size, "50");
 CONF_Int32(stream_load_record_expire_time_secs, "28800");
 // time interval to clean expired stream load records
 CONF_mInt64(clean_stream_load_record_interval_secs, "1800");
+// Whether to enable stream load profile to be printed to the log, the default 
is false.
+CONF_mBool(enable_stream_load_profile_log, "false");
 
 // OlapTableSink sender's send interval, should be less than the real response 
time of a tablet writer rpc.
 // You may need to lower the speed when the sink receiver bes are too busy.
diff --git a/be/src/http/action/stream_load.cpp 
b/be/src/http/action/stream_load.cpp
index c65e554a8b..e69d22fc45 100644
--- a/be/src/http/action/stream_load.cpp
+++ b/be/src/http/action/stream_load.cpp
@@ -28,6 +28,7 @@
 #include <rapidjson/prettywriter.h>
 #include <thrift/protocol/TDebugProtocol.h>
 
+#include "common/config.h"
 #include "common/consts.h"
 #include "common/logging.h"
 #include "common/utils.h"
@@ -599,6 +600,13 @@ Status StreamLoadAction::_process_put(HttpRequest* 
http_req,
         LOG(WARNING) << "plan streaming load failed. errmsg=" << plan_status 
<< ctx->brief();
         return plan_status;
     }
+
+    auto& query_options = ctx->put_result.params.query_options;
+    if (query_options.__isset.is_report_success && 
query_options.is_report_success &&
+        !config::enable_stream_load_profile_log) {
+        query_options.is_report_success = false;
+    }
+
     VLOG_NOTICE << "params is " << 
apache::thrift::ThriftDebugString(ctx->put_result.params);
     // if we not use streaming, we must download total content before we begin
     // to process this load
diff --git a/docs/en/docs/admin-manual/config/be-config.md 
b/docs/en/docs/admin-manual/config/be-config.md
index 62091324ac..62904d50f8 100644
--- a/docs/en/docs/admin-manual/config/be-config.md
+++ b/docs/en/docs/admin-manual/config/be-config.md
@@ -769,6 +769,13 @@ Metrics: 
{"filtered_rows":0,"input_row_num":3346807,"input_rowsets_count":42,"in
 * Default value: 100
 * Dynamically modifiable: Yes
 
+#### `enable_stream_load_profile_log`
+
+* Type: bool
+* Description: Whether to enable stream load profile to be printed to the log.
+* Default value: false
+* Dynamically modifiable: Yes
+
 ### Thread
 
 #### `delete_worker_count`
diff --git a/docs/zh-CN/docs/admin-manual/config/be-config.md 
b/docs/zh-CN/docs/admin-manual/config/be-config.md
index ac3f47043d..f91c63ec8b 100644
--- a/docs/zh-CN/docs/admin-manual/config/be-config.md
+++ b/docs/zh-CN/docs/admin-manual/config/be-config.md
@@ -783,6 +783,13 @@ Metrics: 
{"filtered_rows":0,"input_row_num":3346807,"input_rowsets_count":42,"in
 * 默认值: 100
 * 可动态修改:是
 
+#### `enable_stream_load_profile_log`
+
+* 类型:bool
+* 描述:是否将 stream load profile 打印到日志。
+* 默认值: false
+* 可动态修改:是
+
 ### 线程
 
 #### `delete_worker_count`
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/planner/StreamLoadPlanner.java 
b/fe/fe-core/src/main/java/org/apache/doris/planner/StreamLoadPlanner.java
index c3eec8e23c..16b45d683c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/StreamLoadPlanner.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/StreamLoadPlanner.java
@@ -47,6 +47,7 @@ import org.apache.doris.load.BrokerFileGroup;
 import org.apache.doris.load.loadv2.LoadTask;
 import org.apache.doris.load.routineload.RoutineLoadJob;
 import org.apache.doris.planner.external.ExternalFileScanNode;
+import org.apache.doris.qe.VariableMgr;
 import org.apache.doris.service.FrontendOptions;
 import org.apache.doris.task.LoadTaskInfo;
 import org.apache.doris.thrift.PaloInternalServiceVersion;
@@ -275,6 +276,7 @@ public class StreamLoadPlanner {
         queryOptions.setEnableVectorizedEngine(Config.enable_vectorized_load);
         queryOptions.setEnablePipelineEngine(Config.enable_pipeline_load);
         queryOptions.setBeExecVersion(Config.be_exec_version);
+        
queryOptions.setIsReportSuccess(VariableMgr.newSessionVariable().enableProfile());
 
         params.setQueryOptions(queryOptions);
         TQueryGlobals queryGlobals = new TQueryGlobals();


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to