This is an automated email from the ASF dual-hosted git repository.
HappenLee pushed a commit to branch opt_perf_4.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/opt_perf_4.1 by this push:
new 3467a39e036 [improvement](be) Add instance ID to hash join profiles
(#65761)
3467a39e036 is described below
commit 3467a39e0367709824ca636408f5b2f48f40fd39
Author: HappenLee <[email protected]>
AuthorDate: Fri Jul 17 16:13:58 2026 +0800
[improvement](be) Add instance ID to hash join profiles (#65761)
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: Shuffle hash join build and probe operators run in
separate pipelines, so their per-instance profiles are difficult to
correlate. Add the fragment instance ID to both hash join build and
probe custom profiles. Profiles with the same join node ID and
InstanceID now identify the corresponding build/probe pair without
relying on process-local hash table addresses.
### Release note
None
### Check List (For Author)
- Test: No need to test (profile-only metadata change; compilation was
explicitly skipped)
- Clang-format v16
- git diff --check
- Behavior changed: Yes (hash join build and probe profiles include
InstanceID)
- Does this need documentation: No
### What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
### Release note
None
### Check List (For Author)
- Test <!-- At least one of them must be included. -->
- [ ] Regression test
- [ ] Unit Test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test or manual test. Explain why:
- [ ] This is a refactor/code format and no logic has been changed.
- [ ] Previous test can cover this change.
- [ ] No code files have been changed.
- [ ] Other reason <!-- Add your reason? -->
- Behavior changed:
- [ ] No.
- [ ] Yes. <!-- Explain the behavior change -->
- Does this need documentation?
- [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg:
https://github.com/apache/doris-website/pull/1214 -->
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
---
be/src/exec/operator/hashjoin_build_sink.cpp | 1 +
be/src/exec/operator/hashjoin_probe_operator.cpp | 2 ++
2 files changed, 3 insertions(+)
diff --git a/be/src/exec/operator/hashjoin_build_sink.cpp
b/be/src/exec/operator/hashjoin_build_sink.cpp
index 8c6f78a0328..26899a70577 100644
--- a/be/src/exec/operator/hashjoin_build_sink.cpp
+++ b/be/src/exec/operator/hashjoin_build_sink.cpp
@@ -47,6 +47,7 @@ Status HashJoinBuildSinkLocalState::init(RuntimeState* state,
LocalSinkStateInfo
_task_idx = info.task_idx;
auto& p = _parent->cast<HashJoinBuildSinkOperatorX>();
_shared_state->join_op_variants = p._join_op_variants;
+ custom_profile()->add_info_string("InstanceID",
print_id(state->fragment_instance_id()));
_build_expr_ctxs.resize(p._build_expr_ctxs.size());
for (size_t i = 0; i < _build_expr_ctxs.size(); i++) {
diff --git a/be/src/exec/operator/hashjoin_probe_operator.cpp
b/be/src/exec/operator/hashjoin_probe_operator.cpp
index c032db348a7..d0f0bffabe2 100644
--- a/be/src/exec/operator/hashjoin_probe_operator.cpp
+++ b/be/src/exec/operator/hashjoin_probe_operator.cpp
@@ -28,6 +28,7 @@
#include "core/data_type/data_type_nullable.h"
#include "exec/operator/operator.h"
#include "runtime/descriptors.h"
+#include "util/uid_util.h"
namespace doris {
#include "common/compile_check_begin.h"
@@ -41,6 +42,7 @@ Status HashJoinProbeLocalState::init(RuntimeState* state,
LocalStateInfo& info)
SCOPED_TIMER(_init_timer);
_task_idx = info.task_idx;
auto& p = _parent->cast<HashJoinProbeOperatorX>();
+ custom_profile()->add_info_string("InstanceID",
print_id(state->fragment_instance_id()));
_probe_expr_ctxs.resize(p._probe_expr_ctxs.size());
for (size_t i = 0; i < _probe_expr_ctxs.size(); i++) {
RETURN_IF_ERROR(p._probe_expr_ctxs[i]->clone(state,
_probe_expr_ctxs[i]));
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]