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

morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
     new ea7b74ace8 [enhancement](compaction) add delete_sign_index check 
before filter delete (#15189)
ea7b74ace8 is described below

commit ea7b74ace8d62bdd81214eb86f7dba0aff91c5b5
Author: yixiutt <102007456+yixi...@users.noreply.github.com>
AuthorDate: Tue Dec 20 14:48:01 2022 +0800

    [enhancement](compaction) add delete_sign_index check before filter delete 
(#15189)
    
    cherry-pick #15190
---
 be/src/vec/olap/block_reader.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/be/src/vec/olap/block_reader.cpp b/be/src/vec/olap/block_reader.cpp
index 655e59895b..5b56c5ef82 100644
--- a/be/src/vec/olap/block_reader.cpp
+++ b/be/src/vec/olap/block_reader.cpp
@@ -278,6 +278,11 @@ Status BlockReader::_unique_key_next_block(Block* block, 
MemPool* mem_pool, Obje
     // do filter delete row in base compaction, only base compaction need to 
do the job
     if (_filter_delete) {
         int delete_sign_idx = 
_reader_context.tablet_schema->field_index(DELETE_SIGN);
+        if (delete_sign_idx <= 0 || delete_sign_idx >= target_columns.size()) {
+            LOG(INFO) << "delete sign idx " << delete_sign_idx
+                      << " not invalid, skip filter delete in base compaction";
+            return Status::OK();
+        }
         DCHECK(delete_sign_idx > 0);
         MutableColumnPtr delete_filter_column = 
(*std::move(_delete_filter_column)).mutate();
         
reinterpret_cast<ColumnUInt8*>(delete_filter_column.get())->resize(target_block_row);


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

Reply via email to