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 <hezhiqi...@selectdb.com> 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: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org