This is an automated email from the ASF dual-hosted git repository.

924060929 pushed a commit to branch fe_local_shuffle_rebase_wip
in repository https://gitbox.apache.org/repos/asf/doris.git

commit bdd3b1e55ea8902c13021bbd3c374bd1a42e3b3e
Author: 924060929 <[email protected]>
AuthorDate: Wed Jun 3 22:34:17 2026 +0800

    [fix](local shuffle) convert remaining ExchangeType refs to 
TLocalPartitionType after rebase
---
 be/src/exec/exchange/local_exchange_source_operator.h | 2 +-
 be/src/exec/operator/operator.cpp                     | 7 ++++---
 be/src/exec/operator/operator.h                       | 2 +-
 be/src/exec/operator/streaming_aggregation_operator.h | 4 ++--
 be/src/exec/pipeline/pipeline.cpp                     | 2 +-
 5 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/be/src/exec/exchange/local_exchange_source_operator.h 
b/be/src/exec/exchange/local_exchange_source_operator.h
index 61704d5720b..fa7ae77131a 100644
--- a/be/src/exec/exchange/local_exchange_source_operator.h
+++ b/be/src/exec/exchange/local_exchange_source_operator.h
@@ -112,7 +112,7 @@ public:
     DataDistribution required_data_distribution(RuntimeState* /*state*/) const 
override {
         return {_exchange_type};
     }
-    ExchangeType exchange_type() const { return _exchange_type; }
+    TLocalPartitionType::type exchange_type() const { return _exchange_type; }
 
 private:
     friend class LocalExchangeSourceLocalState;
diff --git a/be/src/exec/operator/operator.cpp 
b/be/src/exec/operator/operator.cpp
index f465e05c65c..be15c99c529 100644
--- a/be/src/exec/operator/operator.cpp
+++ b/be/src/exec/operator/operator.cpp
@@ -147,9 +147,10 @@ DataDistribution 
OperatorBase::required_data_distribution(RuntimeState* /*state*
                    : DataDistribution(TLocalPartitionType::NOOP);
 }
 
-bool OperatorBase::is_hash_shuffle(ExchangeType exchange_type) {
-    return exchange_type == ExchangeType::HASH_SHUFFLE ||
-           exchange_type == ExchangeType::BUCKET_HASH_SHUFFLE;
+bool OperatorBase::is_hash_shuffle(TLocalPartitionType::type exchange_type) {
+    return exchange_type == TLocalPartitionType::GLOBAL_EXECUTION_HASH_SHUFFLE 
||
+           exchange_type == TLocalPartitionType::LOCAL_EXECUTION_HASH_SHUFFLE 
||
+           exchange_type == TLocalPartitionType::BUCKET_HASH_SHUFFLE;
 }
 
 bool OperatorBase::child_breaks_local_key_distribution(RuntimeState* state) 
const {
diff --git a/be/src/exec/operator/operator.h b/be/src/exec/operator/operator.h
index 37315044393..923889f8651 100644
--- a/be/src/exec/operator/operator.h
+++ b/be/src/exec/operator/operator.h
@@ -188,7 +188,7 @@ public:
             RuntimeState* /*state*/) const;
 
 protected:
-    [[nodiscard]] static bool is_hash_shuffle(ExchangeType exchange_type);
+    [[nodiscard]] static bool is_hash_shuffle(TLocalPartitionType::type 
exchange_type);
     [[nodiscard]] bool child_breaks_local_key_distribution(RuntimeState* 
state) const;
 
     OperatorPtr _child = nullptr;
diff --git a/be/src/exec/operator/streaming_aggregation_operator.h 
b/be/src/exec/operator/streaming_aggregation_operator.h
index b7cd7016039..924120d9ad5 100644
--- a/be/src/exec/operator/streaming_aggregation_operator.h
+++ b/be/src/exec/operator/streaming_aggregation_operator.h
@@ -224,7 +224,7 @@ public:
     DataDistribution required_data_distribution(RuntimeState* state) const 
override {
         if (_child && _child->is_hash_join_probe() &&
             state->enable_streaming_agg_hash_join_force_passthrough()) {
-            return {ExchangeType::PASSTHROUGH};
+            return {TLocalPartitionType::PASSTHROUGH};
         }
         if (!_needs_finalize && !state->enable_local_exchange_before_agg() &&
             !child_breaks_local_key_distribution(state)) {
@@ -236,7 +236,7 @@ public:
                            : 
StatefulOperatorX<StreamingAggLocalState>::required_data_distribution(
                                      state);
         }
-        return {ExchangeType::HASH_SHUFFLE, _partition_exprs};
+        return {TLocalPartitionType::GLOBAL_EXECUTION_HASH_SHUFFLE, 
_partition_exprs};
     }
 
 private:
diff --git a/be/src/exec/pipeline/pipeline.cpp 
b/be/src/exec/pipeline/pipeline.cpp
index c470cf848ac..aad5a19fdad 100644
--- a/be/src/exec/pipeline/pipeline.cpp
+++ b/be/src/exec/pipeline/pipeline.cpp
@@ -58,7 +58,7 @@ bool Pipeline::need_to_local_exchange(const DataDistribution 
target_data_distrib
                 
std::dynamic_pointer_cast<LocalExchangeSourceOperatorX>(_operators.front());
         local_exchange_source && 
is_hash_exchange(target_data_distribution.distribution_type)) {
         const auto source_exchange_type = 
local_exchange_source->exchange_type();
-        if (source_exchange_type != ExchangeType::NOOP && 
!is_hash_exchange(source_exchange_type)) {
+        if (source_exchange_type != TLocalPartitionType::NOOP && 
!is_hash_exchange(source_exchange_type)) {
             return true;
         }
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to