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

zhangchen 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 2e28db94a46 [Fix](flexible partial update) Report error when multi 
segments are generated in one flexible partial update load (#42688)
2e28db94a46 is described below

commit 2e28db94a4681e02da085aca320386d1248fb163
Author: bobhan1 <bh2444151...@outlook.com>
AuthorDate: Fri Nov 8 16:51:07 2024 +0800

    [Fix](flexible partial update) Report error when multi segments are 
generated in one flexible partial update load (#42688)
    
    In flexible partial update, when there are more than one segment in one
    load, we need to do alignment process for same keys between segments.
    Considering that this situation is rare, we temporally report an error
    in this situation and will implement it later.
---
 be/src/olap/rowset_builder.cpp | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/be/src/olap/rowset_builder.cpp b/be/src/olap/rowset_builder.cpp
index 93b10512461..8141fad0a8d 100644
--- a/be/src/olap/rowset_builder.cpp
+++ b/be/src/olap/rowset_builder.cpp
@@ -259,6 +259,17 @@ Status BaseRowsetBuilder::submit_calc_delete_bitmap_task() 
{
     }
     std::lock_guard<std::mutex> l(_lock);
     SCOPED_TIMER(_submit_delete_bitmap_timer);
+    if (_partial_update_info && 
_partial_update_info->is_flexible_partial_update()) {
+        if (_rowset->num_segments() > 1) {
+            // in flexible partial update, when there are more one segment in 
one load,
+            // we need to do alignment process for same keys between segments, 
we haven't
+            // implemented it yet and just report an error when encouter this 
situation
+            return Status::NotSupported(
+                    "too large input data in flexible partial update, Please "
+                    "reduce the amount of data imported in a single load.");
+        }
+    }
+
     // tablet is under alter process. The delete bitmap will be calculated 
after conversion.
     if (_tablet->tablet_state() == TABLET_NOTREADY) {
         LOG(INFO) << "tablet is under alter process, delete bitmap will be 
calculated later, "


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

Reply via email to