This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch branch-4.0-preview in repository https://gitbox.apache.org/repos/asf/doris.git
commit 5c8ae5d1f2a010bb11e28a3ed88c58f3b3ea981a Author: zhiqiang <[email protected]> AuthorDate: Tue Apr 23 09:40:57 2024 +0800 [fix](profile) Fix content missing of brokerload profile (#33969) --- fe/fe-core/src/main/java/org/apache/doris/catalog/EnvFactory.java | 6 ++++-- .../main/java/org/apache/doris/cloud/catalog/CloudEnvFactory.java | 5 +++-- .../src/main/java/org/apache/doris/cloud/qe/CloudCoordinator.java | 5 +++-- .../src/main/java/org/apache/doris/load/loadv2/LoadLoadingTask.java | 6 ++++-- fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java | 5 +++-- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/EnvFactory.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/EnvFactory.java index 85ae8be250a..a0be94b6834 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/EnvFactory.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/EnvFactory.java @@ -137,10 +137,12 @@ public class EnvFactory { return new Coordinator(context, analyzer, planner, statsErrorEstimator); } + // Used for broker load task/export task/update coordinator public Coordinator createCoordinator(Long jobId, TUniqueId queryId, DescriptorTable descTable, List<PlanFragment> fragments, List<ScanNode> scanNodes, - String timezone, boolean loadZeroTolerance) { - return new Coordinator(jobId, queryId, descTable, fragments, scanNodes, timezone, loadZeroTolerance); + String timezone, boolean loadZeroTolerance, boolean enableProfile) { + return new Coordinator(jobId, queryId, descTable, fragments, scanNodes, timezone, loadZeroTolerance, + enableProfile); } public GroupCommitPlanner createGroupCommitPlanner(Database db, OlapTable table, List<String> targetColumnNames, diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudEnvFactory.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudEnvFactory.java index aaf5362d241..5d05928b540 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudEnvFactory.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudEnvFactory.java @@ -162,8 +162,9 @@ public class CloudEnvFactory extends EnvFactory { @Override public Coordinator createCoordinator(Long jobId, TUniqueId queryId, DescriptorTable descTable, List<PlanFragment> fragments, List<ScanNode> scanNodes, - String timezone, boolean loadZeroTolerance) { - return new CloudCoordinator(jobId, queryId, descTable, fragments, scanNodes, timezone, loadZeroTolerance); + String timezone, boolean loadZeroTolerance, boolean enableProfile) { + return new CloudCoordinator(jobId, queryId, descTable, fragments, scanNodes, timezone, loadZeroTolerance, + enableProfile); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/qe/CloudCoordinator.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/qe/CloudCoordinator.java index 503c517ca2c..b3e0073aa10 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/qe/CloudCoordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/qe/CloudCoordinator.java @@ -46,8 +46,9 @@ public class CloudCoordinator extends Coordinator { } public CloudCoordinator(Long jobId, TUniqueId queryId, DescriptorTable descTable, List<PlanFragment> fragments, - List<ScanNode> scanNodes, String timezone, boolean loadZeroTolerance) { - super(jobId, queryId, descTable, fragments, scanNodes, timezone, loadZeroTolerance); + List<ScanNode> scanNodes, String timezone, boolean loadZeroTolerance, + boolean enbaleProfile) { + super(jobId, queryId, descTable, fragments, scanNodes, timezone, loadZeroTolerance, enbaleProfile); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadLoadingTask.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadLoadingTask.java index 28769741874..b8f802387d0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadLoadingTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadLoadingTask.java @@ -141,11 +141,13 @@ public class LoadLoadingTask extends LoadTask { } protected void executeOnce() throws Exception { + final boolean enabelProfile = this.jobProfile != null; // New one query id, Coordinator curCoordinator = EnvFactory.getInstance().createCoordinator(callback.getCallbackId(), loadId, planner.getDescTable(), - planner.getFragments(), planner.getScanNodes(), planner.getTimezone(), loadZeroTolerance); - if (this.jobProfile != null) { + planner.getFragments(), planner.getScanNodes(), planner.getTimezone(), loadZeroTolerance, + enabelProfile); + if (enabelProfile) { this.jobProfile.addExecutionProfile(curCoordinator.getExecutionProfile()); } curCoordinator.setQueryType(TQueryType.LOAD); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java index 82b7cef3607..d23fb4dfd41 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java @@ -355,12 +355,12 @@ public class Coordinator implements CoordInterface { nextInstanceId.setLo(queryId.lo + 1); this.assignedRuntimeFilters = planner.getRuntimeFilters(); this.executionProfile = new ExecutionProfile(queryId, fragments); - } // Used for broker load task/export task/update coordinator + // Constructor of Coordinator is too complicated. public Coordinator(Long jobId, TUniqueId queryId, DescriptorTable descTable, List<PlanFragment> fragments, - List<ScanNode> scanNodes, String timezone, boolean loadZeroTolerance) { + List<ScanNode> scanNodes, String timezone, boolean loadZeroTolerance, boolean enableProfile) { this.isBlockQuery = true; this.jobId = jobId; this.queryId = queryId; @@ -368,6 +368,7 @@ public class Coordinator implements CoordInterface { this.fragments = fragments; this.scanNodes = scanNodes; this.queryOptions = new TQueryOptions(); + this.queryOptions.setEnableProfile(enableProfile); this.queryGlobals.setNowString(TimeUtils.DATETIME_FORMAT.format(LocalDateTime.now())); this.queryGlobals.setTimestampMs(System.currentTimeMillis()); this.queryGlobals.setTimeZone(timezone); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
