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 56a1793baa..c8dbd2d5d9 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 @@ -824,7 +824,8 @@ public class Coordinator { for (Map.Entry entry : tParams.entrySet()) { Long backendId = this.addressToBackendID.get(entry.getKey()); PipelineExecContext pipelineExecContext = new PipelineExecContext(fragment.getFragmentId(), - profileFragmentId, entry.getValue(), backendId, fragmentInstancesMap); + profileFragmentId, entry.getValue(), backendId, fragmentInstancesMap, + executionProfile.getLoadChannelProfile()); // Each tParam will set the total number of Fragments that need to be executed on the same BE, // and the BE will determine whether all Fragments have been executed based on this information. // Notice. load fragment has a small probability that FragmentNumOnHost is 0, for unknown reasons. @@ -2686,6 +2687,7 @@ public class Coordinator { volatile boolean done; boolean hasCanceled; Map fragmentInstancesMap; + RuntimeProfile loadChannelProfile; int cancelProgress = 0; int profileFragmentId; TNetworkAddress brpcAddress; @@ -2697,12 +2699,14 @@ public class Coordinator { public PipelineExecContext(PlanFragmentId fragmentId, int profileFragmentId, TPipelineFragmentParams rpcParams, Long backendId, - Map fragmentInstancesMap) { + Map fragmentInstancesMap, + RuntimeProfile loadChannelProfile) { this.profileFragmentId = profileFragmentId; this.fragmentId = fragmentId; this.rpcParams = rpcParams; this.numInstances = rpcParams.local_params.size(); this.fragmentInstancesMap = fragmentInstancesMap; + this.loadChannelProfile = loadChannelProfile; this.initiated = false; this.done = false; @@ -2741,6 +2745,9 @@ public class Coordinator { if (params.isSetProfile()) { profile.update(params.profile); } + if (params.isSetLoadChannelProfile()) { + loadChannelProfile.update(params.loadChannelProfile); + } if (params.done) { profile.setIsDone(true); profileReportProgress++;