This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 4389600264d [fix](scan) Fix scan with limit (#46035)
4389600264d is described below
commit 4389600264d5ae30e96f3b1e010d546e979f25f9
Author: zhiqiang <[email protected]>
AuthorDate: Fri Dec 27 11:43:59 2024 +0800
[fix](scan) Fix scan with limit (#46035)
### What problem does this PR solve?
Related PR: https://github.com/apache/doris/pull/39927
https://github.com/apache/doris/pull/39927 introduced a new session var
`adaptive_pipeline_task_serial_read_on_limit`, its implementation has
flaw, reduce scanner parallelism should only happen when there is not
conjunction. Since we can not estimate the filtration efficiency.
---
be/src/pipeline/exec/scan_operator.cpp | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/be/src/pipeline/exec/scan_operator.cpp
b/be/src/pipeline/exec/scan_operator.cpp
index a73e1a6db7c..a7802f33e24 100644
--- a/be/src/pipeline/exec/scan_operator.cpp
+++ b/be/src/pipeline/exec/scan_operator.cpp
@@ -1190,9 +1190,11 @@ Status ScanOperatorX<LocalStateType>::init(const
TPlanNode& tnode, RuntimeState*
// is checked in previous branch.
if (query_options.enable_adaptive_pipeline_task_serial_read_on_limit) {
DCHECK(query_options.__isset.adaptive_pipeline_task_serial_read_on_limit);
- if (tnode.limit > 0 &&
- tnode.limit <=
query_options.adaptive_pipeline_task_serial_read_on_limit) {
- _should_run_serial = true;
+ if (!tnode.__isset.conjuncts || tnode.conjuncts.empty()) {
+ if (tnode.limit > 0 &&
+ tnode.limit <=
query_options.adaptive_pipeline_task_serial_read_on_limit) {
+ _should_run_serial = true;
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]