This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push: new 1405c48a771 [opt](coordinator) optimize parallel degree of shuffle when use nereids (#44754) (#46397) 1405c48a771 is described below commit 1405c48a771c7f700847326784eacb9d9a5464ef Author: 924060929 <lanhuaj...@selectdb.com> AuthorDate: Sat Jan 4 19:04:17 2025 +0800 [opt](coordinator) optimize parallel degree of shuffle when use nereids (#44754) (#46397) cherry pick from #44754 --- be/src/vec/aggregate_functions/aggregate_function_collect.h | 6 ++++-- fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/be/src/vec/aggregate_functions/aggregate_function_collect.h b/be/src/vec/aggregate_functions/aggregate_function_collect.h index 95193d2039c..de58f628ec9 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_collect.h +++ b/be/src/vec/aggregate_functions/aggregate_function_collect.h @@ -256,8 +256,10 @@ struct AggregateFunctionCollectListData<StringRef, HasLimit> { } max_size = rhs.max_size; - data->insert_range_from(*rhs.data, 0, - std::min(assert_cast<size_t>(max_size - size()), rhs.size())); + data->insert_range_from( + *rhs.data, 0, + std::min(assert_cast<size_t>(static_cast<size_t>(max_size - size())), + rhs.size())); } else { data->insert_range_from(*rhs.data, 0, rhs.size()); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java index 500ba8f22f4..df6081626ca 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java @@ -2078,7 +2078,8 @@ public class Coordinator implements CoordInterface { exchangeInstances = ConnectContext.get().getSessionVariable().getExchangeInstanceParallel(); } // when we use nested loop join do right outer / semi / anti join, the instance must be 1. - if (leftMostNode.getNumInstances() == 1) { + boolean isNereids = context != null && context.getState().isNereids(); + if (!isNereids && leftMostNode.getNumInstances() == 1) { exchangeInstances = 1; } if (exchangeInstances > 0 && fragmentExecParamsMap.get(inputFragmentId) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org