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

gabriellee 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 034582bb64 [pipelineX](fix) Fix broadcast dependency hanging (#24740)
034582bb64 is described below

commit 034582bb64bb083ca23d91c5ce4efa7119665cd5
Author: Gabriel <gabrielleeb...@gmail.com>
AuthorDate: Fri Sep 22 12:24:32 2023 +0800

    [pipelineX](fix) Fix broadcast dependency hanging (#24740)
---
 be/src/pipeline/exec/data_queue.cpp                      |  6 +++++-
 be/src/pipeline/exec/exchange_sink_buffer.cpp            | 11 ++++++++---
 be/src/pipeline/exec/exchange_sink_buffer.h              |  2 +-
 be/src/pipeline/exec/exchange_sink_operator.cpp          |  7 +++++--
 be/src/pipeline/exec/exchange_sink_operator.h            |  5 +++++
 be/src/pipeline/exec/exchange_source_operator.h          |  5 +++++
 be/src/pipeline/exec/scan_operator.h                     |  5 +++++
 be/src/pipeline/pipeline_x/dependency.h                  | 16 +++++++++++++++-
 be/src/vec/sink/vdata_stream_sender.cpp                  |  2 +-
 be/src/vec/sink/vdata_stream_sender.h                    |  8 +++++---
 .../test_distinct_streaming_agg_operator.groovy          |  2 +-
 .../suites/pipelineX/test_partition_sort_operator.groovy |  2 +-
 .../suites/pipelineX/test_repeat_operator.groovy         |  2 +-
 .../suites/pipelineX/test_union_operator.groovy          |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.1.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.2.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.3.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.1.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.2.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.3.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.1.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.2.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.3.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.4.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.1.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.2.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.3.sql      |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q1.1.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q1.2.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q1.3.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q2.1.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q2.2.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q2.3.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q3.1.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q3.2.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q3.3.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q3.4.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q4.1.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q4.2.sql           |  2 +-
 .../suites/ssb_sf0.1_p1/sql/pipelinex_q4.3.sql           |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q01.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q02.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q03.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q04.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q05.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q06.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q07.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q08.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q09.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q10.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q11.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q12.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q13.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q14.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q15.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q16.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q17.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q18.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q19.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q20.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q21.sql |  2 +-
 .../suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q22.sql |  2 +-
 62 files changed, 107 insertions(+), 64 deletions(-)

diff --git a/be/src/pipeline/exec/data_queue.cpp 
b/be/src/pipeline/exec/data_queue.cpp
index 49016736f1..fa522b68c6 100644
--- a/be/src/pipeline/exec/data_queue.cpp
+++ b/be/src/pipeline/exec/data_queue.cpp
@@ -118,7 +118,9 @@ Status 
DataQueue::get_block_from_queue(std::unique_ptr<vectorized::Block>* outpu
             _cur_bytes_in_queue[_flag_queue_idx] -= 
(*output_block)->allocated_bytes();
             _cur_blocks_nums_in_queue[_flag_queue_idx] -= 1;
             if (_dependency) {
-                _dependency->block_reading();
+                if (!_is_finished[_flag_queue_idx]) {
+                    _dependency->block_reading();
+                }
                 _dependency->set_ready_for_write();
             }
         } else {
@@ -150,6 +152,7 @@ void 
DataQueue::push_block(std::unique_ptr<vectorized::Block> block, int child_i
 }
 
 void DataQueue::set_finish(int child_idx) {
+    std::lock_guard<std::mutex> l(*_queue_blocks_lock[child_idx]);
     _is_finished[child_idx] = true;
     if (_dependency) {
         _dependency->set_ready_for_read();
@@ -157,6 +160,7 @@ void DataQueue::set_finish(int child_idx) {
 }
 
 void DataQueue::set_canceled(int child_idx) {
+    std::lock_guard<std::mutex> l(*_queue_blocks_lock[child_idx]);
     DCHECK(!_is_finished[child_idx]);
     _is_canceled[child_idx] = true;
     _is_finished[child_idx] = true;
diff --git a/be/src/pipeline/exec/exchange_sink_buffer.cpp 
b/be/src/pipeline/exec/exchange_sink_buffer.cpp
index 8809dfdfe5..f49fea2c03 100644
--- a/be/src/pipeline/exec/exchange_sink_buffer.cpp
+++ b/be/src/pipeline/exec/exchange_sink_buffer.cpp
@@ -49,11 +49,12 @@ namespace vectorized {
 
 void BroadcastPBlockHolder::unref() noexcept {
     DCHECK_GT(_ref_count._value, 0);
-    _ref_count._value.fetch_sub(1);
-    if (_dep && _ref_count._value == 0) {
+    auto old_value = _ref_count._value.fetch_sub(1);
+    if (_dep && old_value == 1) {
         _dep->return_available_block();
     }
 }
+
 } // namespace vectorized
 
 namespace pipeline {
@@ -169,7 +170,8 @@ Status 
ExchangeSinkBuffer<Parent>::add_block(TransmitInfo<Parent>&& request) {
 }
 
 template <typename Parent>
-Status ExchangeSinkBuffer<Parent>::add_block(BroadcastTransmitInfo<Parent>&& 
request) {
+Status ExchangeSinkBuffer<Parent>::add_block(BroadcastTransmitInfo<Parent>&& 
request,
+                                             [[maybe_unused]] bool* sent) {
     if (_is_finishing) {
         return Status::OK();
     }
@@ -178,6 +180,9 @@ Status 
ExchangeSinkBuffer<Parent>::add_block(BroadcastTransmitInfo<Parent>&& req
         return Status::EndOfFile("receiver eof");
     }
     bool send_now = false;
+    if (sent) {
+        *sent = true;
+    }
     request.block_holder->ref();
     {
         std::unique_lock<std::mutex> 
lock(*_instance_to_package_queue_mutex[ins_id.lo]);
diff --git a/be/src/pipeline/exec/exchange_sink_buffer.h 
b/be/src/pipeline/exec/exchange_sink_buffer.h
index b5d6812b4f..6086b36c22 100644
--- a/be/src/pipeline/exec/exchange_sink_buffer.h
+++ b/be/src/pipeline/exec/exchange_sink_buffer.h
@@ -174,7 +174,7 @@ public:
     void register_sink(TUniqueId);
 
     Status add_block(TransmitInfo<Parent>&& request);
-    Status add_block(BroadcastTransmitInfo<Parent>&& request);
+    Status add_block(BroadcastTransmitInfo<Parent>&& request, [[maybe_unused]] 
bool* sent);
     bool can_write() const;
     bool is_pending_finish();
     void close();
diff --git a/be/src/pipeline/exec/exchange_sink_operator.cpp 
b/be/src/pipeline/exec/exchange_sink_operator.cpp
index 56767a2a2f..e8e87f758f 100644
--- a/be/src/pipeline/exec/exchange_sink_operator.cpp
+++ b/be/src/pipeline/exec/exchange_sink_operator.cpp
@@ -340,7 +340,6 @@ Status ExchangeSinkOperatorX::sink(RuntimeState* state, 
vectorized::Block* block
         } else {
             vectorized::BroadcastPBlockHolder* block_holder = nullptr;
             
RETURN_IF_ERROR(local_state.get_next_available_buffer(&block_holder));
-            local_state._broadcast_dependency->take_available_block();
             {
                 SCOPED_CONSUME_MEM_TRACKER(_mem_tracker.get());
                 bool serialized = false;
@@ -356,18 +355,22 @@ Status ExchangeSinkOperatorX::sink(RuntimeState* state, 
vectorized::Block* block
                         block_holder->get_block()->Clear();
                     }
                     Status status;
+                    bool sent = false;
                     for (auto channel : local_state.channels) {
                         if (!channel->is_receiver_eof()) {
                             if (channel->is_local()) {
                                 status = channel->send_local_block(&cur_block);
                             } else {
                                 SCOPED_CONSUME_MEM_TRACKER(_mem_tracker.get());
-                                status = channel->send_block(block_holder,
+                                status = channel->send_block(block_holder, 
&sent,
                                                              source_state == 
SourceState::FINISHED);
                             }
                             HANDLE_CHANNEL_STATUS(state, channel, status);
                         }
                     }
+                    if (sent) {
+                        
local_state._broadcast_dependency->take_available_block();
+                    }
                     cur_block.clear_column_data();
                     local_state._serializer.get_block()->set_muatable_columns(
                             cur_block.mutate_columns());
diff --git a/be/src/pipeline/exec/exchange_sink_operator.h 
b/be/src/pipeline/exec/exchange_sink_operator.h
index 6ee64f326a..19d474360e 100644
--- a/be/src/pipeline/exec/exchange_sink_operator.h
+++ b/be/src/pipeline/exec/exchange_sink_operator.h
@@ -82,6 +82,11 @@ public:
     virtual ~BroadcastDependency() = default;
 
     [[nodiscard]] WriteDependency* write_blocked_by() override {
+        if (config::enable_fuzzy_mode && _available_block == 0 &&
+            _write_dependency_watcher.elapsed_time() > 
SLOW_DEPENDENCY_THRESHOLD) {
+            LOG(WARNING) << "========Dependency may be blocked by some 
reasons: " << name() << " "
+                         << id();
+        }
         return _available_block > 0 ? nullptr : this;
     }
 
diff --git a/be/src/pipeline/exec/exchange_source_operator.h 
b/be/src/pipeline/exec/exchange_source_operator.h
index 3c5da8c68d..df6d44494e 100644
--- a/be/src/pipeline/exec/exchange_source_operator.h
+++ b/be/src/pipeline/exec/exchange_source_operator.h
@@ -57,6 +57,11 @@ public:
             : Dependency(id, "DataDependency"), _sender_queue(sender_queue), 
_always_done(false) {}
     void* shared_state() override { return nullptr; }
     [[nodiscard]] Dependency* read_blocked_by() override {
+        if (config::enable_fuzzy_mode && _sender_queue->should_wait() &&
+            _read_dependency_watcher.elapsed_time() > 
SLOW_DEPENDENCY_THRESHOLD) {
+            LOG(WARNING) << "========Dependency may be blocked by some 
reasons: " << name() << " "
+                         << id();
+        }
         return _sender_queue->should_wait() ? this : nullptr;
     }
 
diff --git a/be/src/pipeline/exec/scan_operator.h 
b/be/src/pipeline/exec/scan_operator.h
index d1feca0f1b..928f05c272 100644
--- a/be/src/pipeline/exec/scan_operator.h
+++ b/be/src/pipeline/exec/scan_operator.h
@@ -101,6 +101,11 @@ public:
         if (_scanner_ctx->get_num_running_scanners() == 0 && 
_scanner_ctx->should_be_scheduled()) {
             _scanner_ctx->reschedule_scanner_ctx();
         }
+        if (config::enable_fuzzy_mode && !_ready_for_read &&
+            _read_dependency_watcher.elapsed_time() > 
SLOW_DEPENDENCY_THRESHOLD) {
+            LOG(WARNING) << "========Dependency may be blocked by some 
reasons: " << name() << " "
+                         << id();
+        }
         return _ready_for_read ? nullptr : this;
     }
 
diff --git a/be/src/pipeline/pipeline_x/dependency.h 
b/be/src/pipeline/pipeline_x/dependency.h
index b3a2a6c76c..d8a93c8028 100644
--- a/be/src/pipeline/pipeline_x/dependency.h
+++ b/be/src/pipeline/pipeline_x/dependency.h
@@ -33,6 +33,8 @@ namespace pipeline {
 class Dependency;
 using DependencySPtr = std::shared_ptr<Dependency>;
 
+static constexpr auto SLOW_DEPENDENCY_THRESHOLD = 10 * 1000L * 1000L * 1000L;
+
 class Dependency : public std::enable_shared_from_this<Dependency> {
 public:
     Dependency(int id, std::string name) : _id(id), _name(name), 
_ready_for_read(false) {}
@@ -57,7 +59,14 @@ public:
     }
 
     // Which dependency current pipeline task is blocked by. `nullptr` if this 
dependency is ready.
-    [[nodiscard]] virtual Dependency* read_blocked_by() { return 
_ready_for_read ? nullptr : this; }
+    [[nodiscard]] virtual Dependency* read_blocked_by() {
+        if (config::enable_fuzzy_mode && !_ready_for_read &&
+            _read_dependency_watcher.elapsed_time() > 
SLOW_DEPENDENCY_THRESHOLD) {
+            LOG(WARNING) << "========Dependency may be blocked by some 
reasons: " << name() << " "
+                         << id();
+        }
+        return _ready_for_read ? nullptr : this;
+    }
 
     // Notify downstream pipeline tasks this dependency is ready.
     virtual void set_ready_for_read() {
@@ -118,6 +127,11 @@ public:
     }
 
     [[nodiscard]] virtual WriteDependency* write_blocked_by() {
+        if (config::enable_fuzzy_mode && !_ready_for_write &&
+            _write_dependency_watcher.elapsed_time() > 
SLOW_DEPENDENCY_THRESHOLD) {
+            LOG(WARNING) << "========Dependency may be blocked by some 
reasons: " << name() << " "
+                         << id();
+        }
         return _ready_for_write ? nullptr : this;
     }
 
diff --git a/be/src/vec/sink/vdata_stream_sender.cpp 
b/be/src/vec/sink/vdata_stream_sender.cpp
index 23194db6d9..3b40da900b 100644
--- a/be/src/vec/sink/vdata_stream_sender.cpp
+++ b/be/src/vec/sink/vdata_stream_sender.cpp
@@ -538,7 +538,7 @@ Status VDataStreamSender::send(RuntimeState* state, Block* 
block, bool eos) {
                                 status = channel->send_local_block(&cur_block);
                             } else {
                                 SCOPED_CONSUME_MEM_TRACKER(_mem_tracker.get());
-                                status = channel->send_block(block_holder, 
eos);
+                                status = channel->send_block(block_holder, 
nullptr, eos);
                             }
                             HANDLE_CHANNEL_STATUS(state, channel, status);
                         }
diff --git a/be/src/vec/sink/vdata_stream_sender.h 
b/be/src/vec/sink/vdata_stream_sender.h
index 2e317a2ce3..1698e5e564 100644
--- a/be/src/vec/sink/vdata_stream_sender.h
+++ b/be/src/vec/sink/vdata_stream_sender.h
@@ -275,7 +275,8 @@ public:
     // if batch is nullptr, send the eof packet
     virtual Status send_block(PBlock* block, bool eos = false);
 
-    virtual Status send_block(BroadcastPBlockHolder* block, bool eos = false) {
+    virtual Status send_block(BroadcastPBlockHolder* block, [[maybe_unused]] 
bool* sent,
+                              bool eos = false) {
         return Status::InternalError("Send BroadcastPBlockHolder is not 
allowed!");
     }
 
@@ -493,7 +494,8 @@ public:
         return Status::OK();
     }
 
-    Status send_block(BroadcastPBlockHolder* block, bool eos = false) override 
{
+    Status send_block(BroadcastPBlockHolder* block, [[maybe_unused]] bool* 
sent,
+                      bool eos = false) override {
         COUNTER_UPDATE(Channel<Parent>::_parent->blocks_sent_counter(), 1);
         if (eos) {
             if (_eos_send) {
@@ -503,7 +505,7 @@ public:
             }
         }
         if (eos || block->get_block()->column_metas_size()) {
-            RETURN_IF_ERROR(_buffer->add_block({this, block, eos}));
+            RETURN_IF_ERROR(_buffer->add_block({this, block, eos}, sent));
         }
         return Status::OK();
     }
diff --git 
a/regression-test/suites/pipelineX/test_distinct_streaming_agg_operator.groovy 
b/regression-test/suites/pipelineX/test_distinct_streaming_agg_operator.groovy
index a8fc2d5868..f0337fcfc7 100644
--- 
a/regression-test/suites/pipelineX/test_distinct_streaming_agg_operator.groovy
+++ 
b/regression-test/suites/pipelineX/test_distinct_streaming_agg_operator.groovy
@@ -61,7 +61,7 @@ suite("test_distinct_streaming_agg_operator") {
         select k6 from baseall group by k6 order by k6;
     """
     
-    sql"""set experimental_enable_pipeline_x_engine=false;    """
+    sql"""set experimental_enable_pipeline_x_engine=true;    """
 
     qt_pipelineX_1 """
         select * from ( select k1,k2,k3 from baseall union select k1,k2,k3 
from baseall) as t  ORDER BY 1, 2,3;
diff --git 
a/regression-test/suites/pipelineX/test_partition_sort_operator.groovy 
b/regression-test/suites/pipelineX/test_partition_sort_operator.groovy
index 73a3d8cc74..22fe5bc20c 100644
--- a/regression-test/suites/pipelineX/test_partition_sort_operator.groovy
+++ b/regression-test/suites/pipelineX/test_partition_sort_operator.groovy
@@ -64,7 +64,7 @@ suite("test_partition_sort_operator") {
         ORDER BY 1, 2,3;
     """
     
-    sql"""set experimental_enable_pipeline_x_engine=false;    """
+    sql"""set experimental_enable_pipeline_x_engine=true;    """
 
     qt_pipelineX_1 """
         select * from (select k6,k2,row_number() over(partition by k6 order by 
k2) as num from baseall) as res where num < 5
diff --git a/regression-test/suites/pipelineX/test_repeat_operator.groovy 
b/regression-test/suites/pipelineX/test_repeat_operator.groovy
index cb164aab09..57357b0b4a 100644
--- a/regression-test/suites/pipelineX/test_repeat_operator.groovy
+++ b/regression-test/suites/pipelineX/test_repeat_operator.groovy
@@ -70,7 +70,7 @@ suite("test_repeat_operator") {
         ORDER BY k1, k2,k3;
     """
     
-    sql"""set experimental_enable_pipeline_x_engine=false;    """
+    sql"""set experimental_enable_pipeline_x_engine=true;    """
 
     qt_pipelineX """
         SELECT k1, k2
diff --git a/regression-test/suites/pipelineX/test_union_operator.groovy 
b/regression-test/suites/pipelineX/test_union_operator.groovy
index 7f606cfa7f..59448c35ec 100644
--- a/regression-test/suites/pipelineX/test_union_operator.groovy
+++ b/regression-test/suites/pipelineX/test_union_operator.groovy
@@ -80,7 +80,7 @@ suite("test_union_operator") {
 
     """
     
-    sql"""set 
experimental_enable_pipeline_x_engine=false,parallel_pipeline_task_num = 8;;    
"""
+    sql"""set 
experimental_enable_pipeline_x_engine=true,parallel_pipeline_task_num = 8;;    
"""
 
     qt_pipelineX """
         SELECT count(*)
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.1.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.1.sql
index 67aa90696d..c3d19b67a2 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.1.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.1.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue
 FROM lineorder_flat
 WHERE
     LO_ORDERDATE >= 19930101
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.2.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.2.sql
index d3d9b16cc7..6ab6ceea34 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.2.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.2.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q1.2
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue
 FROM lineorder_flat
 WHERE
     LO_ORDERDATE >= 19940101
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.3.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.3.sql
index b22efea51b..70796c2a95 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.3.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q1.3.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q1.3
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue
 FROM lineorder_flat
 WHERE
     weekofyear(LO_ORDERDATE) = 6
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.1.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.1.sql
index 7dbab32f96..57f2ada296 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.1.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.1.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q2.1
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
     SUM(LO_REVENUE), (LO_ORDERDATE DIV 10000) AS YEAR,
     P_BRAND
 FROM lineorder_flat
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.2.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.2.sql
index 884a7288fd..9b7a5db502 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.2.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.2.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q2.2
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
     SUM(LO_REVENUE), (LO_ORDERDATE DIV 10000) AS YEAR,
     P_BRAND
 FROM lineorder_flat
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.3.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.3.sql
index 7180f48a4a..3a8a5e74d4 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.3.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q2.3.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q2.3
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
     SUM(LO_REVENUE), (LO_ORDERDATE DIV 10000) AS YEAR,
     P_BRAND
 FROM lineorder_flat
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.1.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.1.sql
index 927e504328..6b3257f1f3 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.1.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.1.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q3.1
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
     C_NATION,
     S_NATION, (LO_ORDERDATE DIV 10000) AS YEAR,
     SUM(LO_REVENUE) AS revenue
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.2.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.2.sql
index 63ac795392..fefe727da8 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.2.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.2.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q3.2
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
     C_CITY,
     S_CITY, (LO_ORDERDATE DIV 10000) AS YEAR,
     SUM(LO_REVENUE) AS revenue
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.3.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.3.sql
index 25430249b0..c4560b701e 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.3.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.3.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q3.3
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
     C_CITY,
     S_CITY, (LO_ORDERDATE DIV 10000) AS YEAR,
     SUM(LO_REVENUE) AS revenue
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.4.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.4.sql
index de07505900..4ae5d956e4 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.4.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q3.4.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q3.4
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
     C_CITY,
     S_CITY, (LO_ORDERDATE DIV 10000) AS YEAR,
     SUM(LO_REVENUE) AS revenue
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.1.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.1.sql
index 263b9e55e4..87b29bf160 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.1.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.1.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q4.1
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
(LO_ORDERDATE DIV 10000) AS YEAR,
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ (LO_ORDERDATE 
DIV 10000) AS YEAR,
     C_NATION,
     SUM(LO_REVENUE - LO_SUPPLYCOST) AS profit
 FROM lineorder_flat
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.2.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.2.sql
index 587eeef262..8ea28f3f12 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.2.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.2.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q4.2
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
(LO_ORDERDATE DIV 10000) AS YEAR,
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ (LO_ORDERDATE 
DIV 10000) AS YEAR,
     S_NATION,
     P_CATEGORY,
     SUM(LO_REVENUE - LO_SUPPLYCOST) AS profit
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.3.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.3.sql
index fadb807c0b..0f7c7401ab 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.3.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_flat_q4.3.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --Q4.3
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
(LO_ORDERDATE DIV 10000) AS YEAR,
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ (LO_ORDERDATE 
DIV 10000) AS YEAR,
     S_CITY,
     P_BRAND,
     SUM(LO_REVENUE - LO_SUPPLYCOST) AS profit
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.1.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.1.sql
index 934377807c..50b50bc368 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.1.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.1.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
SUM(lo_extendedprice*lo_discount) AS
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
SUM(lo_extendedprice*lo_discount) AS
 REVENUE
 FROM  lineorder, date
 WHERE  lo_orderdate = d_datekey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.2.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.2.sql
index a86974c8a1..77c0262016 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.2.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.2.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
SUM(lo_extendedprice*lo_discount) AS
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
SUM(lo_extendedprice*lo_discount) AS
 REVENUE
 FROM  lineorder, date
 WHERE  lo_orderdate = d_datekey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.3.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.3.sql
index 41ac021e96..0052db0aac 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.3.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q1.3.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
SUM(lo_extendedprice*lo_discount) AS
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
SUM(lo_extendedprice*lo_discount) AS
 REVENUE
 FROM  lineorder, date
 WHERE  lo_orderdate = d_datekey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.1.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.1.sql
index b477781037..a47ec82b51 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.1.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.1.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
SUM(lo_revenue), d_year, p_brand
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
SUM(lo_revenue), d_year, p_brand
 FROM lineorder, date, part, supplier
 WHERE lo_orderdate = d_datekey
 AND lo_partkey = p_partkey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.2.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.2.sql
index fc95bc2d87..9ab1a95d4d 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.2.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.2.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
SUM(lo_revenue), d_year, p_brand
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
SUM(lo_revenue), d_year, p_brand
 FROM lineorder, date, part, supplier
 WHERE lo_orderdate = d_datekey
 AND lo_partkey = p_partkey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.3.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.3.sql
index 20f6baf359..b7e6bd7840 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.3.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q2.3.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
SUM(lo_revenue), d_year, p_brand
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
SUM(lo_revenue), d_year, p_brand
 FROM lineorder, date, part, supplier
 WHERE  lo_orderdate = d_datekey
 AND lo_partkey = p_partkey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.1.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.1.sql
index daead15361..85c470b708 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.1.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.1.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ c_nation, 
s_nation, d_year,
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ c_nation, 
s_nation, d_year,
 SUM(lo_revenue)  AS  REVENUE
 FROM customer, lineorder, supplier, date
 WHERE lo_custkey = c_custkey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.2.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.2.sql
index 1b729ea6f8..cd0b320f87 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.2.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.2.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ c_city, 
s_city, d_year, sum(lo_revenue)
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ c_city, 
s_city, d_year, sum(lo_revenue)
 AS  REVENUE
 FROM customer, lineorder, supplier, date
 WHERE  lo_custkey = c_custkey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.3.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.3.sql
index 90450d3729..89765c02d9 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.3.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.3.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ c_city, 
s_city, d_year, SUM(lo_revenue)
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ c_city, 
s_city, d_year, SUM(lo_revenue)
 AS  REVENUE
 FROM customer, lineorder, supplier, date
 WHERE lo_custkey = c_custkey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.4.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.4.sql
index c59e9f10b0..5cef87a3fe 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.4.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q3.4.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ c_city, 
s_city, d_year, SUM(lo_revenue)
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ c_city, 
s_city, d_year, SUM(lo_revenue)
 AS  REVENUE
 FROM customer, lineorder, supplier, date
 WHERE lo_custkey = c_custkey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.1.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.1.sql
index 767af86aba..3e0227c2ea 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.1.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.1.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ d_year, 
c_nation,
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ d_year, 
c_nation,
 SUM(lo_revenue - lo_supplycost) AS PROFIT
 FROM date, customer, supplier, part, lineorder
 WHERE lo_custkey = c_custkey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.2.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.2.sql
index 8accfc8e5a..1338e780ae 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.2.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.2.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ d_year, 
s_nation, p_category,
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ d_year, 
s_nation, p_category,
 SUM(lo_revenue - lo_supplycost) AS PROFIT
 FROM date, customer, supplier, part, lineorder
 WHERE lo_custkey = c_custkey
diff --git a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.3.sql 
b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.3.sql
index f5411faaa4..d8e6f7c42d 100644
--- a/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.3.sql
+++ b/regression-test/suites/ssb_sf0.1_p1/sql/pipelinex_q4.3.sql
@@ -15,7 +15,7 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ d_year, 
s_city, p_brand,
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ d_year, 
s_city, p_brand,
 SUM(lo_revenue - lo_supplycost) AS PROFIT
 FROM date, customer, supplier, part, lineorder
 WHERE lo_custkey = c_custkey
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q01.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q01.sql
index 78b560ff24..ded6754a97 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q01.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q01.sql
@@ -1,5 +1,5 @@
 -- tables: lineitem
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   l_returnflag,
   l_linestatus,
   sum(l_quantity)                                       AS sum_qty,
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q02.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q02.sql
index 510c3d117d..f102f7504d 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q02.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q02.sql
@@ -1,5 +1,5 @@
 -- tables: part,supplier,partsupp,nation,region
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   s_acctbal,
   s_name,
   n_name,
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q03.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q03.sql
index 360e51763f..8bd60f0e07 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q03.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q03.sql
@@ -1,5 +1,5 @@
 -- tables: customer,orders,lineitem
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   l_orderkey,
   sum(l_extendedprice * (1 - l_discount)) AS revenue,
   o_orderdate,
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q04.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q04.sql
index 99a1213d5c..3f44094729 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q04.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q04.sql
@@ -1,5 +1,5 @@
 -- tables: orders,lineitem
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   o_orderpriority,
   count(*) AS order_count
 FROM orders
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q05.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q05.sql
index 871c3cc84c..ed179f8b86 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q05.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q05.sql
@@ -1,5 +1,5 @@
 -- tables: customer,orders,lineitem,supplier,nation,region
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   n_name,
   sum(l_extendedprice * (1 - l_discount)) AS revenue
 FROM
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q06.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q06.sql
index b08a070250..2dd86f8c2c 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q06.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q06.sql
@@ -1,6 +1,6 @@
 -- tables: lineitem
 
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
sum(l_extendedprice * l_discount) AS revenue
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
sum(l_extendedprice * l_discount) AS revenue
 FROM
   lineitem
 WHERE
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q07.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q07.sql
index 77c13aa4e8..6453c1094a 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q07.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q07.sql
@@ -1,5 +1,5 @@
 -- tables: supplier,lineitem,orders,customer,nation
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   supp_nation,
   cust_nation,
   l_year,
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q08.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q08.sql
index bbdb4fea58..e4c46fb084 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q08.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q08.sql
@@ -1,5 +1,5 @@
 -- tables: part,supplier,lineitem,orders,customer,nation,region
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   o_year,
   sum(CASE
       WHEN nation = 'BRAZIL'
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q09.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q09.sql
index 0e7e1a6326..cee9925fb5 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q09.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q09.sql
@@ -1,5 +1,5 @@
 -- tables: part,supplier,lineitem,partsupp,orders,nation
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   nation,
   o_year,
   sum(amount) AS sum_profit
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q10.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q10.sql
index 2a78f2931f..c95a80fcee 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q10.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q10.sql
@@ -1,5 +1,5 @@
 -- tables: customer,orders,lineitem,nation
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   c_custkey,
   c_name,
   sum(l_extendedprice * (1 - l_discount)) AS revenue,
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q11.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q11.sql
index eb0987288a..b23701e940 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q11.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q11.sql
@@ -1,5 +1,5 @@
 -- tables: partsupp,supplier,nation
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   ps_partkey,
   sum(ps_supplycost * ps_availqty) AS value
 FROM
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q12.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q12.sql
index d72e552a33..e8893e71e4 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q12.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q12.sql
@@ -1,5 +1,5 @@
 -- tables: orders,lineitem
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   l_shipmode,
   sum(CASE
       WHEN o_orderpriority = '1-URGENT'
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q13.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q13.sql
index d222de8694..9db2da60ee 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q13.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q13.sql
@@ -1,5 +1,5 @@
 -- tables: customer
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   c_count,
   count(*) AS custdist
 FROM (
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q14.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q14.sql
index b70a8abfd8..70d7a57d07 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q14.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q14.sql
@@ -1,5 +1,5 @@
 -- tables: lineitem,part
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 100.00 * 
sum(CASE
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 100.00 * 
sum(CASE
                     WHEN p_type LIKE 'PROMO%'
                       THEN l_extendedprice * (1 - l_discount)
                     ELSE 0
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q15.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q15.sql
index fd526df87b..45f75ff985 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q15.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q15.sql
@@ -1,4 +1,4 @@
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   s_suppkey,
   s_name,
   s_address,
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q16.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q16.sql
index c21c8fb494..37a438c796 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q16.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q16.sql
@@ -1,5 +1,5 @@
 -- tables: partsupp,part,supplier
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   p_brand,
   p_type,
   p_size,
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q17.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q17.sql
index ae11f9c699..62f39a750c 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q17.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q17.sql
@@ -1,5 +1,5 @@
 -- tables: lineitem,part
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
sum(l_extendedprice) / 7.0 AS avg_yearly
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
sum(l_extendedprice) / 7.0 AS avg_yearly
 FROM
   lineitem,
   part
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q18.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q18.sql
index 910b9ffc7f..2eb2505c01 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q18.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q18.sql
@@ -1,5 +1,5 @@
 -- tables: customer,orders,lineitem
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   c_name,
   c_custkey,
   o_orderkey,
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q19.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q19.sql
index b55400e4ae..16e543f87c 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q19.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q19.sql
@@ -1,5 +1,5 @@
 -- tables: lineitem,part
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */ 
sum(l_extendedprice * (1 - l_discount)) AS revenue
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */ 
sum(l_extendedprice * (1 - l_discount)) AS revenue
 FROM
   lineitem,
   part
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q20.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q20.sql
index 550c00b4e4..a2aca56790 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q20.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q20.sql
@@ -1,5 +1,5 @@
 -- tables: supplier,nation,partsupp,lineitem,part
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   s_name,
   s_address
 FROM
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q21.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q21.sql
index 099b5ad106..7b4874f96c 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q21.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q21.sql
@@ -1,5 +1,5 @@
 -- tables: supplier,lineitem,orders,nation
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   s_name,
   count(*) AS numwait
 FROM
diff --git 
a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q22.sql 
b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q22.sql
index fb0d71a6bc..bf784175e0 100644
--- a/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q22.sql
+++ b/regression-test/suites/tpch_unique_sql_zstd_p0/sql/pipelinex_q22.sql
@@ -1,5 +1,5 @@
 -- tables: orders,customer
-SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=false) */
+SELECT /*+SET_VAR(experimental_enable_pipeline_x_engine=true) */
   cntrycode,
   count(*)       AS numcust,
   sum(c_acctbal) AS totacctbal


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to