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

dataroaring 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 dfdec4d161b [fix](compaction) disable cumu delete rowset from 
performing ordered data compaction (#38742)
dfdec4d161b is described below

commit dfdec4d161b20f21e6beb4239a23816d387b382c
Author: Luwei <814383...@qq.com>
AuthorDate: Sun Aug 4 10:40:32 2024 +0800

    [fix](compaction) disable cumu delete rowset from performing ordered data 
compaction (#38742)
    
    ## problem
    
    When enable_delete_when_cumu_compaction = true, multiple delete rowsets
    may be merged into an empty data rowset through ordered data compaction,
    causing the delete predicate to be lost.
---
 be/src/olap/compaction.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/be/src/olap/compaction.cpp b/be/src/olap/compaction.cpp
index 2190521589c..935c9991e97 100644
--- a/be/src/olap/compaction.cpp
+++ b/be/src/olap/compaction.cpp
@@ -352,7 +352,9 @@ bool CompactionMixin::handle_ordered_data_compaction() {
 
     // check delete version: if compaction type is base compaction and
     // has a delete version, use original compaction
-    if (compaction_type() == ReaderType::READER_BASE_COMPACTION) {
+    if (compaction_type() == ReaderType::READER_BASE_COMPACTION ||
+        (_allow_delete_in_cumu_compaction &&
+         compaction_type() == ReaderType::READER_CUMULATIVE_COMPACTION)) {
         for (auto& rowset : _input_rowsets) {
             if (rowset->rowset_meta()->has_delete_predicate()) {
                 return false;


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

Reply via email to