-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[refactor](pipeline) refactor local merge sort operator #48360
base: master
Are you sure you want to change the base?
Conversation
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
run buildall |
TPC-H: Total hot run time: 31593 ms
|
TPC-DS: Total hot run time: 190768 ms
|
TeamCity be ut coverage result: |
ClickBench: Total hot run time: 31.38 s
|
run buildall |
TPC-H: Total hot run time: 31714 ms
|
TPC-DS: Total hot run time: 191251 ms
|
ClickBench: Total hot run time: 31.05 s
|
TeamCity be ut coverage result: |
run buildall |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
e0b3ac6
to
16ed064
Compare
run buildall |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
16ed064
to
6f4744a
Compare
run buildall |
6f4744a
to
4b06182
Compare
run buildall |
TPC-H: Total hot run time: 31740 ms
|
TPC-DS: Total hot run time: 185244 ms
|
ClickBench: Total hot run time: 30.44 s
|
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
4b06182
to
5cee9b1
Compare
run buildall |
TPC-H: Total hot run time: 31740 ms
|
TPC-DS: Total hot run time: 189707 ms
|
ClickBench: Total hot run time: 31.29 s
|
5cee9b1
to
fd64cf9
Compare
run buildall |
TPC-H: Total hot run time: 31729 ms
|
TPC-DS: Total hot run time: 183949 ms
|
ClickBench: Total hot run time: 30.9 s
|
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
run cloud_p0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add some UT cases
RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child->row_desc(), _row_descriptor)); | ||
RETURN_IF_ERROR(_vsort_exec_exprs.open(state)); | ||
for (int i = 1; i < _parallel_tasks; ++i) { | ||
auto dep = Dependency::create_shared(operator_id(), node_id(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Attach each instance ID to the dep's name
} | ||
return deps; | ||
} else { | ||
return {_dependency}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why we still need a dependency for other tasks?
auto& local_state = get_local_state(state); | ||
DCHECK(_other_source_deps.contains(local_state._task_idx)); | ||
_sorters[local_state._task_idx] = local_state._shared_state->sorter; | ||
_other_source_deps[local_state._task_idx]->set_ready(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why need to set ready here?
@@ -1513,8 +1493,12 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo | |||
case TPlanNodeType::SORT_NODE: { | |||
const auto should_spill = _runtime_state->enable_spill() && | |||
tnode.sort_node.algorithm == TSortAlgorithm::FULL_SORT; | |||
const bool use_local_merge = | |||
tnode.sort_node.merge_by_exchange && _runtime_state->enable_local_merge_sort(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Set tnode.sort_node.merge_by_exchange
if enable_local_merge_sort
is true by FE. Here we just need to decide whether to use local merge by tnode.sort_node.merge_by_exchange
fc0ebec
to
3fe9c17
Compare
run buildall |
TPC-H: Total hot run time: 32524 ms
|
TPC-DS: Total hot run time: 191432 ms
|
ClickBench: Total hot run time: 31.06 s
|
run buildall |
TPC-H: Total hot run time: 32413 ms
|
TPC-DS: Total hot run time: 184265 ms
|
ClickBench: Total hot run time: 30.68 s
|
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
run external |
run buildall |
TPC-H: Total hot run time: 32558 ms
|
TPC-DS: Total hot run time: 185332 ms
|
ClickBench: Total hot run time: 31.05 s
|
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
run buildall |
What problem does this PR solve?
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)