Open dirtysalt opened 6 hours ago
Failed conditions
7.4% Duplication on New Code (required ≤ 3%)
:x: fail : 8 / 11 (72.73%)
path | covered_line | new_line | coverage | not_covered_line_detail | |
---|---|---|---|---|---|
:large_blue_circle: | be/src/exec/pipeline/fragment_executor.cpp | 0 | 3 | 00.00% | [241, 242, 243] |
:large_blue_circle: | be/src/exec/pipeline/scan/connector_scan_operator.cpp | 7 | 7 | 100.00% | [] |
:large_blue_circle: | be/src/exec/pipeline/query_context.cpp | 1 | 1 | 100.00% | [] |
:white_check_mark: pass : 0 / 0 (0%)
Why I'm doing:
This is the further improvement on this PR: https://github.com/StarRocks/starrocks/pull/50686
We find a bad case that
And this case can be reproduced by following SQL
select lo_orderkey from ICE
has dataSo the execution profile looks like this
And if you look at
PeakIOTasks
ofICE
table, it's very low probably like 3-4, which is bad.The root cause is, since we have this PR: https://github.com/StarRocks/starrocks/pull/50686
However, there is a corner case that: if the scan operator does not create any chunk source, it has no chance to adjust it's chunk usage back to 0. And it affects other scan operator's available mem limit, which leads to low io tasks.
What I'm doing:
This PR is to:
do_preapre
anddo_close
. so it will do adjustment even there is no chunk source created.scan_node_number
to more proper nameconnector_scan_node_number
. So there won't be problems if there are no-connector scan node and connector scan nodes in a single query.Fixes #50686
What type of PR is this:
Does this PR entail a change in behavior?
If yes, please specify the type of change:
Checklist:
Bugfix cherry-pick branch check: