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 d331bfc513 [Performance](pipeline) support shared scan segment in mow 
(#23305)
d331bfc513 is described below

commit d331bfc513008da7f8f22f344efe57a33bb69be5
Author: HappenLee <happen...@hotmail.com>
AuthorDate: Fri Aug 25 10:43:02 2023 +0800

    [Performance](pipeline) support shared scan segment in mow (#23305)
---
 be/src/vec/exec/scan/new_olap_scan_node.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/be/src/vec/exec/scan/new_olap_scan_node.cpp 
b/be/src/vec/exec/scan/new_olap_scan_node.cpp
index 31971e42c0..d603aafa81 100644
--- a/be/src/vec/exec/scan/new_olap_scan_node.cpp
+++ b/be/src/vec/exec/scan/new_olap_scan_node.cpp
@@ -443,7 +443,7 @@ Status 
NewOlapScanNode::_init_scanners(std::list<VScannerSPtr>* scanners) {
     }
     int scanners_per_tablet = std::max(1, 64 / (int)_scan_ranges.size());
 
-    bool is_duplicate_key = false;
+    bool is_dup_mow_key = false;
     size_t segment_count = 0;
     std::vector<std::vector<RowSetSplits>> 
rowset_splits_vector(_scan_ranges.size());
     std::vector<std::vector<size_t>> tablet_rs_seg_count(_scan_ranges.size());
@@ -460,8 +460,10 @@ Status 
NewOlapScanNode::_init_scanners(std::list<VScannerSPtr>* scanners) {
                                                                                
        true);
             RETURN_IF_ERROR(status);
 
-            is_duplicate_key = tablet->keys_type() == DUP_KEYS;
-            if (!is_duplicate_key) {
+            is_dup_mow_key =
+                    tablet->keys_type() == DUP_KEYS || (tablet->keys_type() == 
UNIQUE_KEYS &&
+                                                        
tablet->enable_unique_key_merge_on_write());
+            if (!is_dup_mow_key) {
                 break;
             }
 
@@ -492,7 +494,7 @@ Status 
NewOlapScanNode::_init_scanners(std::list<VScannerSPtr>* scanners) {
         }
     }
 
-    if (is_duplicate_key) {
+    if (is_dup_mow_key) {
         auto build_new_scanner = [&](const TPaloScanRange& scan_range,
                                      const std::vector<OlapScanRange*>& 
key_ranges,
                                      const std::vector<RowSetSplits>& 
rs_splits) {


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

Reply via email to